Jak uniknąć wątku aplikacji Not on FX; currentThread = Błąd wątku aplikacji JavaFX?
Poniżej fragmenty kodu daje mi błądNot on FX application thread; currentThread
=JavaFX
Application Thread
. Ta aplikacja działała dobrze w java 1.7, ale kiedy przeniosłem ją do fx8, teraz daje błąd. kiedy uruchamiam aplikację przy pierwszej próbie, działa ona zgodnie z przeznaczeniem. Ale po zamknięciu sceny i jej ponownym otwarciu nie działa.
Błąd jest również niejednoznacznyNot On fx application thread and current thread- javafx
application thread
Co to znaczyło, że nie w wątku aplikacji fx, jeśli bieżący wątek jest wątkiem aplikacji 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);
}