Tar*_*que 7 java user-interface multithreading javafx
在JavaFX中,我有一个Controller类,它从FXML文件中提取控制组件,并具有作用于组件的方法,在这里用Label显示:
public class ViewController {
@FXML private Label labelStatus;
public void updateStatusLabel(String label) {
labelStatus.setText("Status: " + label);
}
}
Run Code Online (Sandbox Code Playgroud)
我还有一个带有run()方法的Java Thread,如下所示:
public class Server extends Thread {
public void run() {
super.run();
}
}
Run Code Online (Sandbox Code Playgroud)
此服务器线程处理我的特定应用程序所需的一些套接字连接.建立连接后(在run()方法中 - 未显示),我需要更新FXML控制器中的Label.我该怎么做?
注意:我故意使我的代码和问题一般,所以它可以帮助其他人遇到同样的问题.
从JavaFX UI线程调用Platform.runLater(runnable)来执行runnable,该runnable更新JavaFX UI线程上活动JavaFX Scene Graph的元素.
还要查看JavaFX中的Concurrency,使用Task和Service类,看看这是否是对您的特定任务更合适的解决方案.
有关更多信息,请参阅:
| 归档时间: |
|
| 查看次数: |
4222 次 |
| 最近记录: |