我正在为一个项目使用 JavaFX。在启动期间,我有一个询问数据的提示,并且我的网络类使用这些数据建立与服务器的连接。我的网络类正在异步工作,我在回调中得到响应。根据我想从我的回调中打开一个新窗口(阶段)的响应。
按预期执行我的mainStage.setScene()
触发器异常 - 不是从 JavaFX 应用程序线程调用的,我必须使用Platform.runLater()
但是:
Platform.runLater(new Runnable() {
@Override
public void run() {
System.out.println("run");
}
});
它从不打印"run"
。为什么?该accountDataPrompt.login()
函数位于我的 JavaFX 启动函数的末尾,正如我所说,网络连接异步运行。提示是一个自定义 JavaFX 对话框(JavaFX UI Sandbox)。