使用计时器类在屏幕上调用Java调用方法和移动对象

时间:2013-06-01 09:01:51

标签: java

我试图让我的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;
}

1 个答案:

答案 0 :(得分:1)

move()方法中,您尝试将名为move的变量添加到x,但move既未定义也未传递。试试这个:

bl[i].move(5,0);

public int move(int move,int x)
{
x += move;
return x;
}

编辑:说到这一点,x也未定义或通过。我编辑了代码。