我必须在另一个线程中运行一些任务,当在线程run()
方法中遇到某些条件时,我必须在其中显示一个带有图片的弹出窗口,但是尝试这样做会导致异常这告诉我,我不能在主UI线程之外创建任何阶段,现在有办法解决这个问题,我可以以某种方式从我的自定义线程访问UI线程并让它显示舞台吗?(注意:由于应用程序的性质,我必须使用自定义线程来检查条件,因为有8个不同的线程同时检查相同的条件。)
例外:
Exception in thread "Thread-4" java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-4
答案 0 :(得分:4)
您应该使用Platform.runLater(...)
new Thread(() -> {
Platform.runLater(() -> {
/* Your code goes here */
});
}).start();