Nic*_*lai 1 java javafx runnable
我正在使用JavaFX进行项目.在启动过程中,我有一个提示,要求提供数据,我的网络类与这些数据建立了与服务器的连接.我的网络类异步工作,我在回调中得到响应.根据响应,我想从回调中打开一个新窗口(阶段).
执行我mainStage.setScene()按预期触发异常 - 不是从JavaFX应用程序线程调用,我必须使用Platform.runLater()但是:
Platform.runLater(new Runnable() {
@Override
public void run() {
System.out.println("run");
}
});
Run Code Online (Sandbox Code Playgroud)
它从不打印"run".为什么?该accountDataPrompt.login()函数位于我的JavaFX启动函数的末尾,正如我所说,网络连接是异步运行的.提示符是自定义JavaFX对话框(JavaFX UI Sandbox).
小智 7
完成所有场景后,将停止JavaFX应用程序线程.所以你的下一个Platform.runLater()将不起作用.
Platform.setImplicitExit( false );
Run Code Online (Sandbox Code Playgroud)
使用上面的代码.这将解决问题.
| 归档时间: |
|
| 查看次数: |
1748 次 |
| 最近记录: |