SwingUtilities / Platform .runLater有什么区别?

时间:2013-09-23 23:09:13

标签: java runnable

我有两个单独的代码,一个是:

    Platform.runLater(new Runnable() {
        public void run() {

        }
    });

另一个是

     SwingUtilities.invokeLater(new Runnable() {
        public void run() {
        }
    });

我想知道两者之间有什么区别,何时使用其中一个或者它们是否完全相同。谢谢你的帮助!

1 个答案:

答案 0 :(得分:4)

Platform来自JavaFX框架,SwingUtilities(委托给EventQueue)来自Swing框架。

差异是基于两个框架如何处理事件调度之间的差异。

每个人都会使用一个线程来执行他们的事件调度角色,这表明JavaFX正在使用与Swing不同的线程。

处理JavaFX时应使用Platform.runLater,处理Swing时应使用SwingUtilities ...

查看JavaFX Architecture,这可能会提供更多见解,特别是Glass Windowing Toolkit