JavaFX: 在一个新的线程中调用更新组件的方法,如更新Label的值,new Thread(()->label.setText(str)).start();
若String str不断变化 就会报错Exception in thread "Thread-4" java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-4,这一点与安卓很像.
解决方法:在主线程中执行
Platform.runLater(new Runnable() {
@Override
public void run() {
//更新JavaFX组件的代码
}
});
如果需要像Thread那样运行多线程,也可以使用动画类Timeline