我的程序是全屏应用程序。一开始我使用一些检查,如果出现问题,则会显示错误对话框。我需要两个窗口(主要全屏和对话框)在这里,所有图形都可以。 当我使用这段代码时:
primaryStage.show();
/*..some checks*/
dialogStage.show();
..没有全屏。它以某种方式与其他窗口重叠。
这个更好用:
stage.setOnShown( new EventHandler<WindowEvent>() {
public void handle(WindowEvent windowEvent) {
/*..some checks*/
dialogStage.show();
}
});
primaryStage.show();
但是......我可以从Windows看到任务面板。对话框关闭时会隐藏它。 而且我也可以在那里看到默认的java图标。虽然我之前设置了自定义图标。 看起来在完成所有图形更新之前调用setOnShown()。 是否有任何事件或事情要知道它?
我也尝试过动画中的Timeline来调用一个小延迟。但没有成功。 从其他线程调用对话框(当然是Platform.runLater():))。这样全屏隐藏了。
也许在JavaFX8上事情会更好?