作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面的代码片段给了我错误 不在 FX 应用程序线程上; currentThread
=JavaFX
应用程序线程
。该应用程序在 java 1.7 中运行良好,但当我将其移至 fx8 时,它现在出现错误。当我第一次尝试启动应用程序时,它按预期工作。但是在关闭舞台并再次打开它后,它无法工作。
该错误也是不明确的Not On fx application thread and current thread-javafx
application thread
。如果当前线程是,那么not on fx application thread是什么意思FX 应用程序线程。
progressDialog = createProgressDialog(service);
progressDialog.show();
progressDialog.setOnCloseRequest(new EventHandler<WindowEvent>() {
@Override
public void handle(WindowEvent event) {
// if (service.isRunning()) {
// service.cancel();
progressDialog.close();
// }
}
});
@SuppressWarnings("unchecked")
private Stage createProgressDialog(final Service<IStatus> service) {
stage = new Stage();
URL url = FileLocator.find(Activator.getDefault().getBundle(),
new Path("icons/xxx_16x16.png"), null); //$NON-NLS-1$
stage.getIcons().add(new Image(url.getFile()));
stage.setTitle("Downloading ..."); //$NON-NLS-1$
// Creating StackPane
stage.initModality(Modality.WINDOW_MODAL);
}
最佳答案
调用
Platform.runLater(new Runnable() {
@Override
public void run() {
// do your GUI stuff here
}
});
会修复它。
关于multithreading - 如何避免不在 FX 应用程序线程上; currentThread = JavaFX 应用程序线程错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56735281/
我是一名优秀的程序员,十分优秀!