我有两个单独的代码,一个是:
Platform.runLater(new Runnable() {
public void run() {
}
});
另一个是
SwingUtilities.invokeLater(new Runnable() {
public void run() {
}
});
我想知道两者之间的区别是什么,何时使用其中之一,或者它们的含义是否完全相同。感谢您的帮助!
最佳答案
Platform
来自 JavaFX 框架,SwingUtilities
(委托(delegate)给 EventQueue
)来自 Swing 框架。
差异在于两个框架处理事件分派(dispatch)的方式不同。
每个线程都使用一个线程来执行其事件调度角色,这表明 JavaFX 使用与 Swing 不同的线程。
处理 JavaFX 时应使用 Platform.runLater
,处理 Swing 时应使用 SwingUtilities
...
看看JavaFX Architecture ,这可能会提供更多的见解,特别是 Glass Windowing Toolkit
关于java - SwingUtilities/Platform .runLater 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18970367/