定时器重复SOMETHING直到SOMETHING_ELSE

时间:2014-02-16 18:30:54

标签: java swing timer

我需要的是:执行JButton的X ++和Y ++,直到“x ++ == Z和y ++ == W”导致按钮移动...

据我所知,首先我需要获得按钮的坐标:

final int locXbtnTrapMe = igu.btnTrapMe.getX();
final int locYbtnTrapMe = igu.btnTrapMe.getY();

然后指定“Z”和“W”作为下一个随机限制:

int widthTrapMe = igu.btnTrapMe.getWidth();
int heightTrapMe = igu.btnTrapMe.getHeight();           
final int randX = random.nextInt(widthMainPanel-widthTrapMe);
final int randY = random.nextInt(heightMainPanel-heightTrapMe);

我指定那些那样的random,以便按钮不会超出主面板......(我想要的东西)

现在的问题是:如果到达randX和randY,我怎样才能为locXbtnTrapMe和locYbtnTrapMe每200ms做一次++?

我需要按钮从一个点平滑移动到另一个点,而不是跳跃......

1 个答案:

答案 0 :(得分:1)

  

现在的问题是:在randX和randY到达之前,如何为locXbtnTrapMe和locYbtnTrapMe每200ms做一次++?

使用Swing Timer,在Timer的ActionListener的actionPerformed方法中,测试被监视字段的状态,如果低于最大值,则增加它们。然后确保在达到最大值时在Timer上调用stop()

一些体面的链接可以帮助您: