我是JavaFX
的新手并且遇到线程问题。
我的应用程序必须做这样的事情(硬伪代码):
start(){
startLoop(); //new thread
displayThingsSavedToSharedVariable();
}
loop(){
while (true){
doThings();
saveThingsToSharedVariable();
}
}
我希望在loop()
GUI中显示来自JavaFX
的输出,在终端中每行显示一个,但我不知道如何将线程与loop()
同步JavaFX
主题。共享变量只是一个 - 不工作 - 我想要实现的例子,主要问题是如何从另一个线程中的无限循环动态地将文本打印到JavaFX
GUI。
答案 0 :(得分:2)
更新javafx gui的正确方法是使用Platform.runLater。
String mytext = deriveText();
Platform.runLater(()->{
label.setText(mytext);
});
您还可以考虑使用Observable接口。