[NullPointer,尝试在Java中移动椭圆形?

问题描述 投票:0回答:1

我有一个与Java中的paintComponent方法有关的问题。基本上,我想做的就是使用按钮在屏幕上移动一个椭圆形。

//public class piedra
 public void paintComponent(Graphics g) {
    //super.paintComponent(g);

    System.out.println(contador);

     if(contador >= 1) {

        g.fillOval(x, y, largo, ancho);

    }

    if (contador == 0) {

        g.setColor(Color.GRAY);
        g.fillOval(x, y, largo, ancho);
        contador++;

    }

}

每个变量都是一个属性,因此我可以使用带有按钮类的框架来操纵它们。这就是我想做的:

public void actionPerformed(ActionEvent e) {

            piedra.y = piedra.y - 1;
            piedra.paintComponent(piedra.g);

        }

我正在尝试使用paintComponent方法在屏幕上移动椭圆,但是当我按下按钮时,程序将引发NullPointer异常。我已经检查了Y变量,按下按钮后它会更改。就是这样,我从那时起就迷失了。我几乎不记得有一个功能可以更新屏幕,但是我认为它不会对异常产生任何影响,对吗?任何可能的解决方案?

谢谢!

java eclipse function graphics paintcomponent
1个回答
0
投票

我相信您不应该直接致电paintComponent(piedra.g),而应该致电repaint()

© www.soinside.com 2019 - 2024. All rights reserved.