Java awt repaint()不调用更新(图形g)

Java awt repaint()不调用更新(图形g),java,graphics,awt,Java,Graphics,Awt,我一直在遵循“Kilobolt游戏开发”的教程: 我现在遇到的问题是,我有一个update()方法,根据教程和java文档,当我调用repain()时应该调用它,但是它不是,这使得框架根本不呈现任何内容 以下是相关代码: @Override public void run() { // TODO Auto-generated method stub while(true){ ball.update(); playerpaddle.update()

我一直在遵循“Kilobolt游戏开发”的教程:

我现在遇到的问题是,我有一个update()方法,根据教程和java文档,当我调用repain()时应该调用它,但是它不是,这使得框架根本不呈现任何内容

以下是相关代码:

 @Override
public void run() {
    // TODO Auto-generated method stub
    while(true){
        ball.update();
        playerpaddle.update();
        computerpaddle.update();

        repaint();
        //System.out.println("s!");
        try {
            Thread.sleep(10);
        } catch (Exception e) {
            // TODO: handle exception
            System.out.println("Error " + e.getMessage());
        }
    }

}
 @Override
public void update(Graphics g) {
    // TODO Auto-generated method stub
    System.out.println("update");
    if(background == null){
        background = createImage(this.getWidth(), this.getHeight());
        second = background.getGraphics();
    }
    second.setColor(getBackground());
    second.fillRect(0, 0, getWidth(), getHeight());
    second.setColor(getForeground());
    paint(second);

    g.drawImage(background, 0, 0, this);
}
@Override
public void paint(Graphics g) {
    // TODO Auto-generated method stub
    System.out.println("paint");
    g.drawImage(iball, ball.getXPos(), ball.getYPos(), this);
    g.drawImage(iplayerpaddle, playerpaddle.getXPos(), playerpaddle.getYPos(), this);
    g.drawImage(icomputerpaddle, computerpaddle.getXPos(), computerpaddle.getYPos(), this);
}
编辑: 根据那个教程,我现在已经是第四天了,除了框架代码之外,一切都是一样的,因为keylistener不能正常工作,所以我不得不更改框架代码

 Frame game = (Frame)this.getParent().getParent();
    game.setSize(Constants.MAX_WIDTH, Constants.MAX_HEIGHT);
    game.setBackground(Color.BLACK);
    game.setFocusable(true);
    game.addKeyListener(this);
    game.setTitle("Pong Clone");
我也尝试过用update(this.getGraphics())直接调用update(),但是我仍然得到一个白色的框架,即使在调用update()和paint()之后,它也不会改变

编辑2: 我已经修复了错误读取线程函数的背景问题,并将我的“gameloop.run()”切换为“gameloop.start()”,这允许我渲染黑色背景,但我的球和桨仍然无法渲染