我尝试这样做的真正原因是在UI显示时运行游戏(无限)循环,但这显示了同样的问题。
primaryStage.setScene(new Scene(root));
primaryStage.addEventHandler(WindowEvent.WINDOW_SHOWN, event -> {
System.out.println("Shown");
try {
Thread.sleep(4000);
} catch (Exception e) {
e.printStackTrace();
}
});
primaryStage.show();
此代码将导致控制台消息,然后等待4秒,然后窗口实际显示。我真的无法在此找到任何内容而且它似乎没有多大意义,因为WINDOW_SHOWN的文档明确指出它在窗口显示后才会触发。
答案 0 :(得分:0)
不完全是对原始问题的答案,而是对什么解决了搜索带给我的问题的评论。
我需要显示由MainScene show事件挂钩触发的APPLICATION_MODAL自定义对话框。
如果我通过 showAndWait()显示对话框,则父级舞台窗口装饰从未完成正确渲染,直到对话框关闭。 如果我通过 show()显示对话框,父对象正确呈现,但我仍然需要正确的模态事件队列阻塞。