我有一个无限的while循环,等待带有SwingUtilities.invokeLater接口的Runnable中的事件,但是执行没有继续……为什么?

//here hello3 prints in cmd but hello2 will not execute
System.out.println("hello3");

//showMessage();
SwingUtilities.invokeLater(
    new Runnable(){
        public void run() {
            while(true) {
                jEditorPane1.setText(s9);
            }
        }
    }
);

System.out.println("hello2");

最佳答案

SwingUtilities.invokeLater将在事件调度线程内执行run方法。

如果您显示给我们的所有代码都在事件调度线程内执行(例如,如果在actionListener内执行),则该线程在无限循环内变得“冻结”。

10-06 10:53