当前位置: 首页 > 知识库问答 >
问题:

JavaFx:我的主窗口如何要求确认关闭,因为辅助打开的窗口

罗梓
2023-03-14

在我的应用程序上,一些更改有一个主窗口和一个辅助窗口。当用户想要关闭应用程序(=主窗口)时,我想要求用户确认关闭更改的辅助窗口,以避免丢失更改。

这段代码在我的主类中。

我的问题是,我无法从主类检查辅助窗口是否打开。

注意:正在我的maincontroller类上创建辅助窗口。

谢啦!

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {

        Parent root = FXMLLoader.load(getClass().getResource("Main.fxml"));

        Scene scene = new Scene(root);
        scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
        primaryStage.getIcons().add(new Image("image.png"));
        primaryStage.setTitle("Κάβα ποτών");
        primaryStage.setScene(scene);
        primaryStage.show();
        primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
            @Override
            public void handle(WindowEvent event) {
            event.consume();
            closing();
            }
        });

    }

    public void closing() {
        //if(the secondary window is closed)
              //Platform.exit();
        //else
              //ask confirmation with confirm alert
    }

    public static void main(String[] args) {
        launch(args);
    }  
}

共有1个答案

张卓
2023-03-14

使用isShowing方法确定是否打开了第二阶段。

要使用它,您应该在创建stage时为变量赋值,并通过公开或提供getter来提供对它的访问。

这是如何从主类访问控制器。

希望有帮助。

 类似资料:
  • 所以我只是想知道是否有人知道在JavaFX 8中关闭弹出窗口的正确方法。例如,如果我的弹出窗口上有一个取消按钮,当按下取消按钮时,我应该使用什么方法来摆脱弹出窗口?我目前只是使用隐藏()方法。这让我有点害怕,因为我不确定弹出窗口是否在后台某处徘徊并且仍然需要关闭。但是,当我在这里查看java文档时,我没有看到任何关闭()方法,我也没有在我的IDE自动完成中看到关闭()方法。不过,我确实在文档中看到

  • 新窗口打开链接 该方法可以新起webview打开页面,由于客户端窗口过多会占用较多内存,请谨慎使用 Tida.pushWindow("http://www.tmall.com/go/chn/common/u-award.php?disableptf=1"); 关闭窗口 关闭当前webview窗口 Tida.popWindow();

  • 本文向大家介绍C# Winform中实现主窗口打开登录窗口关闭的方法,包括了C# Winform中实现主窗口打开登录窗口关闭的方法的使用技巧和注意事项,需要的朋友参考一下 在使用C#进行Winform编程时,我们经常需要使用一个登录框来进行登录,一旦输入的用户名密码登录成功,这时登录窗口应该关闭,而且同时打开主程序窗口。该如何来实现呢? 乍一想,很简单啊,打开主窗口就用主窗口的Show()方法,而

  • 查看这段代码,它们展示了一种在登录后显示新窗口的方法。当用户名和密码是正确的,它打开新的对话框。我想要一个按钮点击打开新的对话框,而不检查用户名和密码。

  • sembako.java这个主类 RootSceneController.java @fxml private void loginAction(ActionEvent事件)抛出IOException{ } 如何关闭RootSceneController.java中的窗口Sembako场景 对不起,我的英语不好