我需要的是:执行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做一次++?
我需要按钮从一个点平滑移动到另一个点,而不是跳跃......
答案 0 :(得分:1)
现在的问题是:在randX和randY到达之前,如何为locXbtnTrapMe和locYbtnTrapMe每200ms做一次++?
使用Swing Timer,在Timer的ActionListener的actionPerformed方法中,测试被监视字段的状态,如果低于最大值,则增加它们。然后确保在达到最大值时在Timer上调用stop()
。
一些体面的链接可以帮助您: