这是我的代码:
private void jButton5MouseClicked(java.awt.event.MouseEvent evt) {
this.jButton5.setText("VietNam");
try {
Thread.sleep(10000);
} catch (InterruptedException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
this.jButton5.setText("Ha Noi");
}
我希望按钮显示“越南”,一分钟后它将变为“Ha Noi”。 但是在我的代码中,我的按钮没有显示任何内容,1分钟后显示“Ha Noi”,没有“越南”出现一秒钟。
我该如何解决?我不想使用swing.Timer,因为它无法完全暂停系统。如果有办法解决它,请告诉我。
非常感谢你们。
答案 0 :(得分:5)
您已在GUI线程上执行了Thread.sleep()
,这阻止了它进一步更新GUI。
在GUI中安排未来操作的最便捷方法是使用javax.swing.Timer
,在Javadocs中查看。