java - SwingUtilities.invokeLater 无限循环,不继续?

标签 java swing invokelater

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

//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 内执行),则线程将在无限循环内“卡住”。

关于java - SwingUtilities.invokeLater 无限循环,不继续?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36821266/

相关文章:

java - java Action 监听器和内部类

java - StreamSupport 收集器和 Java 7

java - Swing JCheckbox : Focus with customized icons

Java切换jpanels和新面板没有响应

java - 从 SwingWorker 实时更新 GUI

java - Groovy 元类与 Java 8 的互操作性

java - 事件未在 richfaces 中调用

java - JScrollPane - 防止顶部的可见组件移动

java - Java Swing 程序中的 SwingUtilities.invokeLater() 方法

java - 什么是 SwingUtilities.invokeLater