如何在 JavaFX 中从我自己的线程显示新阶段?



我必须在另一个线程中运行一些任务,当该线程run()方法中满足某些条件时,我必须显示一个带有图片的弹出窗口,但是尝试这样做会导致异常,告诉我无法在主 UI 线程之外创建任何阶段,现在有没有办法解决这个问题,我可以以某种方式从我的自定义线程访问 UI 线程并使其显示舞台吗?(注意:由于应用程序的性质,我必须使用自定义线程来检查条件,因为有大约 8 个不同的线程同时检查相同的条件。

例外情况:

Exception in thread "Thread-4" java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-4

你应该用Platform.runLater(...)来包装你的操作

new Thread(() -> {
Platform.runLater(() -> { 
/* Your code goes here */
});   
}).start();

最新更新