有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java定时器重复某件事直到另一件事发生

我需要的是:对一个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);

我指定了这样的随机数,这样按钮就不会离开主面板。。。(我想要的东西)

现在的问题是:在到达randX和randY之前,我如何每200毫秒为locXbtnTrapMe和locYbtnTrapMe做一次a++呢

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


共 (1) 个答案

  1. # 1 楼答案

    Now the question: How can i do a ++ every 200ms for both locXbtnTrapMe and locYbtnTrapMe until the randX and randY get reached?

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

    一些不错的链接可以帮助你: