在java fx控制器中,我有两个版本的代码,当按下按钮时,它只是在标签上设置一个文本(这只是一个示例,但其他任何UI修改可以考虑)...Java FX修改UI组件状态,使用/不使用Platform.runLater
第一版本使用Platform.runLater:
Platform.runLater(() -> {
status.setText("");
statusIndicator.setVisible(false);
});
另外一个简单的修改它在普通螺纹:
status.setText("");
statusIndicator.setVisible(false);
两者都是工作非常好,只有我知道迄今为止的差异是将一些runnable传递给Platform.runLater将保持执行的顺序。
有没有其他意义的区别或动机来使用Platform.runLater?
因此,当我在通过UI交互触发的控制器方法时,它是FX线?我很安全,不使用Platform.runlater?在来自控制器的长操作情况下,我需要执行单独的操作并使用Platform.runlater更新ui? – vach 2014-09-24 11:20:21
如果你没有在控制器中创建任何线程,你可以放心不要使用它! – ItachiUchiha 2014-09-24 11:25:18
谢谢...我不知道控制器方法在单个UI线程中运行,现在我将所有长操作移动到异步执行中... – vach 2014-09-24 11:28:07