关闭弹出窗口后关闭平台| JavaFX的

时间:2016-05-02 19:57:00

标签: java javafx

所以我有两个阶段,一个是主舞台,另一个是弹出屏幕。当弹出屏幕出现时,您可以通过按左上角的“x”(或右上角,取决于您的操作系统)来关闭它。有没有办法在关闭弹出屏幕时关闭主舞台?

2 个答案:

答案 0 :(得分:2)

StagePopupWindow继承onHidden property。这是一个在隐藏窗口后立即调用的处理程序(通过任何机制)。您可以在处理程序中调用Platform.exit()以退出应用程序:

popup.setOnHidden(event -> Platform.exit());

请注意,Platform.exit()通常首选System.exit(0):调用System.exit(...)将不允许调用Application的{​​{1}}方法,因此,您可以绕过应用程序正在执行的任何资源清理。

答案 1 :(得分:1)

有一个名为setOnCloseRequest的活动。如果您打开Alert弹出窗口。

Alert popup = new Alert(AlertType.INFORMATION);

然后你的解决方案是:

alert.setOnCloseRequest(new EventHandler<DialogEvent>()
{
    @Override
    public void handle(DialogEvent t)
    {
        System.exit(0);
    }
});

否则,如果您想要与其所有者关闭另一个窗口,请使用stage并将DialogEvent替换为WindowEvent