有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

所以我有两个阶段,一个是主阶段,另一个是弹出屏幕。当弹出屏幕显示时,您可以按左上角(或右上角,具体取决于您的操作系统)的“x”键将其关闭。是否有一种方法可以在关闭弹出屏幕时关闭主舞台


共 (2) 个答案

  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并用WindowEvent替换DialogEvent

  2. # 2 楼答案

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

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

    请注意,Platform.exit()通常比System.exit(0)更可取:调用System.exit(...)将不允许调用Applicationstop()方法,因此您可以绕过应用程序正在执行的任何资源清理