在调用Platform.exit()之后,我无法再次创建新阶段或启动应用程序;
我正在调用Platform.exit()来返回我启动JavaFX应用程序的代码
java.lang.IllegalStateException: Not on FX application thread; currentThread = main
at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:237)
at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:400)
at javafx.stage.Stage.<init>(Stage.java:212)
at javafx.stage.Stage.<init>(Stage.java:198)
at com.m.Main.replaceSceneContent(Main.java:187)
at com.m.Main.GotoMessage(Main.java:253)
Run Code Online (Sandbox Code Playgroud)
任何人都可以给我一个要点,我在调用Platform.exit()之后会发生什么?我们不能重新启动应用程序吗?
正如Javadoc所说,Platform.exit()终止了JavaFX应用程序线程.
http://docs.oracle.com/javase/8/javafx/api/javafx/application/Platform.html#exit--
最好不要调用Platform.exit()直到你真的要关闭JavaFX.关闭JavaFX后,您必须使用Application.launch()方法重新启动它.我想,更好的是关闭窗户.
请注意,Platform.setImplicitExit(false);即使所有窗口都关闭,您也可以阻止JavaFX关闭.
| 归档时间: |
|
| 查看次数: |
1362 次 |
| 最近记录: |