我有一个显示文本的面板。我希望面板更改其文本,然后在发生其他情况之前让应用程序暂停。我正在使用 Thread.sleep(1000)。但由于某种原因,应用程序在调用 Thread.sleep 之前没有完成面板的绘制(文本没有更改)。我也尝试过这个:
board.invalidate();
board.setLeftMessage("Not");
board.setRightMessage("Here");
board.revalidate();
Date current = new Date();
long timeNow = current.getTime();
Date newDate = new Date(timeNow + 1000);
while (current.before(newDate))
current = new Date();
但那里也没有运气。有人有建议吗?
非常感谢。
您正在阻止 AWT 事件调度线程 (EDT)。 EDT 处理重画和输入事件,因此您的代码不需要是多线程的(这实际上是不可能的)。使用javax.swing.Timer
稍后在 EDT 发送事件。 (不要混淆javax.swing.Timer
with java.util.Timer
!)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)