Java 线程错误。暂停

Java 线程错误。暂停,java,swing,timer,event-dispatch-thread,thread-sleep,Java,Swing,Timer,Event Dispatch Thread,Thread Sleep,这是我的代码: private void jButton5MouseClicked(java.awt.event.MouseEvent evt) { this.jButton5.setText("VietNam"); try { Thread.sleep(10000); } catch (InterruptedException ex) { Logger.getLo

这是我的代码:

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");
}
我希望按钮显示“越南”,一分钟后它将变为“河内”。 但在我的代码中,我的按钮没有显示任何内容,1分钟后它显示“Ha-Noi”,没有显示“Vietnam”一秒钟

我怎样才能解决这个问题?我不想使用swing.Timer,因为它不能完全暂停系统。如果有办法解决它,请告诉我


非常感谢大家。

您已经在GUI线程上执行了
Thread.sleep()
,这阻止了它对GUI进行任何进一步的更新


在GUI中安排未来操作的最方便的方法是使用
javax.swing.Timer
,它可以在Javadocs中看到。

我看到了。在计时器运行时,我能做些什么来阻止其他按钮工作吗?我想你应该通过调用适当的方法来禁用它们。@Fuuka Adachi请阅读: