javafx - JavaFX 许多任务在 GUI 中工作
问题描述
我运行了一个线程来更新应用程序的打开时间。它运作良好。我已经扩展了服务类。此任务的时间通过 Platform.runLater 更新我的 GUI,textField
@Override
protected Task<Void> createTask() {
return new Task<Void>() {
@Override
protected Void call() throws Exception {
while (!isCancelled()) {
if (isPause == false) {
try {
Platform.runLater(() -> {
currentTimeInApp = currentTimeInApp + 1;
upPanelController.timeInApp.setText
(currentTimeInApp.toString());
}
});
Thread.sleep(1000);
} catch (InterruptedException e) {
System.out.println(e.getMessage());
}
if (isCancelled())
break;
}
}
return null;
}
};
}
我想运行第二个线程,它也更新 GUI。我不能运行相同的线程。两个独立的线程可以更新 GUI 吗?互联网上的大多数信息都专门针对一个主题。谢谢你的每一个建议
解决方案
是的,您可以使用任意数量的线程。您只需确保始终通过 Platform.runLater 进行 GUI 更新。
推荐阅读
- svg - 有没有办法在单个 svg 中包含 2 个渐变(线性和径向)?[已回答/已解决]
- reactjs - 在 GCP 上存储 React+Gatsby 静态应用程序时管理处理程序
- python - 从 python 中的 yaml 文件中读取值并使用命令 api ssh 到具有该值的开关
- r - ggplot2 和 ggdist:跳过绘制 group 有 1 个 obs 的分布。在多个箱线图中
- node.js - 为什么我不能在 nodejs 和 mongodb 中多次发出 post 请求
- sql - 从每个标识符有多行的列表中选择第一行
- android - Firebase Crashlytics 导致我的统一游戏在初始屏幕上崩溃
- javascript - nodejs 数组项是 Promise "{
}" - sql - 如何使用 SQL 来近似匹配两个表中的两列?
- python - 尝试优化 python/kivy 应用程序中的内存