Java Swing-在EDT上运行

Java Swing-在EDT上运行,第1张

Java Swing-在EDT上运行
  1. 一个好的规则是所有 *** 作(访问/更新/ …)都应在EDT上进行。javadoc中提到了一些例外(某些类的某些方法),但是很难记住它们,以至于坚持“在EDT上做所有事情”的方法比较容易。不会引发异常(幸运的是,JavaFX修复了此缺点)。您可以使用定制
    RepaintManager
    来检测大多数此类违规:请参阅本文。
  2. 用户触发的所有内容均在EDT上处理。例如,如果用户单击一个按钮,
    actionPerformed
    则相应的
    Action
    ActionListener
    将在EDT上被调用
  3. 正确
  4. 首先安排的事情将首先执行。该
    invokeLater
    调用只是
    Runnable
    在队列末尾添加。稍候再使用
    invokeLater
    第二次,将
    Runnable
    在先前安排的时间之后添加此新内容
    Runnable
  5. 看一下代码
    doneEDT
    private void doneEDT() {Runnable doDone =     new Runnable() {        public void run() { done();        }    };if (SwingUtilities.isEventDispatchThread()) {    doDone.run();} else {    doSubmit.add(doDone);}

    }



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5487098.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存