0

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

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

        }
    });

另一个是

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

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

4

1 回答 1

5

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

不同之处在于两个框架处理事件分派的方式之间的差异。

每个人都将使用单个线程来执行其事件分派角色,这表明 JavaFX 正在使用与 Swing 不同的线程。

您应该Platform.runLater在处理 JavaFX 和SwingUtilities处理 Swing 时使用...

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

于 2013-09-23T23:16:08.203 回答