1

我是新手,JavaFX并且在线程方面遇到了一些麻烦。我的应用程序必须做这样的事情(硬伪代码):

start(){
  startLoop(); //new thread
  displayThingsSavedToSharedVariable();
}



loop(){
  while (true){
    doThings();
    saveThingsToSharedVariable();
  }
}

我想loop()JavaFXGUI 中显示最新的输出,终端中每行一个,但我不知道如何将线程与loop()线程同步JavaFX。共享变量只是我想要实现的一个 - 不起作用 - 示例,主要问题是如何JavaFX从另一个线程中的无限循环动态地将文本打印到 GUI。

4

1 回答 1

2

更新 javafx gui 的正确方法是使用 Platform.runLater。

String mytext = deriveText();
Platform.runLater(()->{
    label.setText(mytext);
});

你也可以考虑使用 Observable 接口。

于 2018-05-23T08:51:58.857 回答