java跨线程调用
问题描述:
当一个线程用作 javaFx 显示,另一个线程作为业务代码,以实现显示层的javaFX代码和业务逻辑的应用代码相分离,但这遇到到一个问题,当处于另一个线程中的业务代码要调用 javaFX进行显示时,会提示一个错误:不在同一个线程上,提示如下:
This operation is permitted on the event thread only; currentThread = main
解决方法:
将下面这个代码块包裹住你对应的修改javafx的代码语句
Platform.runLater(new Runnable() {
@Override
public void run() {
//更新JavaFX的主线程的代码放在此处
}
});
具体如下: