我有两个单独的代码,一个是:
Platform.runLater(new Runnable() {
public void run() {
}
});
Run Code Online (Sandbox Code Playgroud)
另一个是
SwingUtilities.invokeLater(new Runnable() {
public void run() {
}
});
Run Code Online (Sandbox Code Playgroud)
我想知道两者之间的区别是什么,以及何时使用一个或另一个,或者它们是否意味着完全相同的东西。谢谢你的帮助!
Platform来自 JavaFX 框架,SwingUtilities(委托给EventQueue)来自 Swing 框架。
差异是基于两个框架处理事件调度方式的差异。
每个都将使用单个线程来执行其事件调度角色,这表明 JavaFX 使用与 Swing 不同的线程。
您应该Platform.runLater在处理 JavaFX 和SwingUtilities处理 Swing 时使用...
看看JavaFX Architecture,它可能会提供更多的见解,特别是Glass Windowing Toolkit
| 归档时间: |
|
| 查看次数: |
1643 次 |
| 最近记录: |