关闭弹出窗口后关闭java平台| JavaFX 1 周,4 日 Questions & Answers 539 所以我有两个阶段,一个是主阶段,另一个是弹出屏幕。当弹出屏幕显示时,您可以按左上角(或右上角,具体取决于您的操作系统)的“x”键将其关闭。是否有一种方法可以在关闭弹出屏幕时关闭主舞台
# 1 楼答案 有一个名为setOnCloseRequest的事件。如果您正在打开Alert弹出窗口 Alert popup = new Alert(AlertType.INFORMATION); 那么你的解决方案是: alert.setOnCloseRequest(new EventHandler<DialogEvent>() { @Override public void handle(DialogEvent t) { System.exit(0); } }); 否则,如果你想用它的所有者关闭另一个窗口,那么只需使用它的stage并用WindowEvent替换DialogEvent
# 2 楼答案 Stage和Popup从Window继承^{} property。这是一个在窗口隐藏后立即调用的处理程序(通过任何机制)。您可以在处理程序中调用Platform.exit()以退出应用程序: popup.setOnHidden(event -> Platform.exit()); 请注意,Platform.exit()通常比System.exit(0)更可取:调用System.exit(...)将不允许调用Application的stop()方法,因此您可以绕过应用程序正在执行的任何资源清理
# 1 楼答案
有一个名为
setOnCloseRequest
的事件。如果您正在打开Alert
弹出窗口那么你的解决方案是:
否则,如果你想用它的所有者关闭另一个窗口,那么只需使用它的
stage
并用WindowEvent
替换DialogEvent
# 2 楼答案
Stage
和Popup
从Window
继承^{Platform.exit()
以退出应用程序:请注意,
Platform.exit()
通常比System.exit(0)
更可取:调用System.exit(...)
将不允许调用Application
的stop()
方法,因此您可以绕过应用程序正在执行的任何资源清理