我试图让我的actionPerformed使用Timer类从另一个类循环一个方法,这样做会重新绘制我的对象,看起来好像它正在屏幕上移动。 我添加了一个System.out.println语句来查看actionPerformed是否正在触发。文本正在显示但是对象似乎没有在屏幕上移动,不确定我做错了什么:\任何人都可以解释什么不对吗?
//这是我的球类,我把它变成了一个数组。 timer.start()位于构造函数
中public void actionPerformed (ActionEvent e)
{
for(int i = 0; i < bl.length; i++)
{
bl[i].move();
System.out.println("Fired");
repaint();
}
}
//这是我的移动类,可以在屏幕上移动对象,x = 0,移动= 5。
public void move()
{
x = x + move;
}
答案 0 :(得分:1)
在move()
方法中,您尝试将名为move
的变量添加到x
,但move
既未定义也未传递。试试这个:
bl[i].move(5,0);
public int move(int move,int x)
{
x += move;
return x;
}
编辑:说到这一点,x
也未定义或通过。我编辑了代码。