gpt4 book ai didi

java - 如何在Java中的代码部分之间等待指定的时间?

转载 作者:行者123 更新时间:2023-12-01 17:07:26 25 4
gpt4 key购买 nike

我有一个相当简单的问题,但在任何地方都没有看到正确的答案。

我正在使用 java.awt 设计一个 Java 小程序。我想做的是让 Java 在执行简单图形动画的方法中的不同代码部分之间等待几秒钟。

事情是这样的:

runAnimation() {

// draw red shapes

// wait 2 seconds so the shapes remain visible

// set color of shapes to green and repaint

}

正如其他地方所建议的,如果我使用类似的东西

try {

// do first task

Thread.sleep(2000);

// do second task

} catch (InterruptedException e) {
}

程序仅在等待 2 秒后显示第二个任务的结果,即我从未看到红色形状。我想看到红色形状两秒钟,然后将它们设置为蓝色等等。

最佳答案

你没有说你正在使用什么 GUI/图形库,这是关键信息。如果是 Swing 或 AWT,则使用 Swing 计时器来进行暂停。您不应该为此使用 Thread.sleep(...) ,因为您会使 GUI 的事件线程进入休眠状态,从而导致整个应用程序卡住。

例如,

someColor = Color.RED;
int delay = 2000;
repaint()
Timer swingTimer = new Timer(delay, new ActionListener() {
public void actionPerformed(ActionEvent e) {
someColor = Color.GREEN;
repaint();
}
});
swingTimer.setRepeats(false);
swingTimer.start();

关于java - 如何在Java中的代码部分之间等待指定的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24876292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com