java - 如何在 JavaFX 中获取阶段的关闭事件?

标签 java javafx javafx-2 stage

在 JavaFX 中,如果用户单击阶段的关闭按钮 (X)(最右上角的十字),我如何获取事件?

我希望我的应用程序在窗口关闭时打印一条调试消息。 (System.out.println("应用程序通过点击关闭按钮关闭(X)"))

@Override
   public void start(Stage primaryStage) {
        StackPane root = new StackPane();
       root.getChildren().add(btn);
       Scene scene = new Scene(root, 300, 250);
       primaryStage.setTitle("Hello World!");
       primaryStage.setScene(scene);
       primaryStage.show();

       // Any Event Handler
       //{
       System.out.println("Application(primaryStage) Closed by click to Close Button(X)");
       //}
   }

最佳答案

我得到了这个问题的答案

stage.setOnHiding(new EventHandler<WindowEvent>() {

         @Override
         public void handle(WindowEvent event) {
             Platform.runLater(new Runnable() {

                 @Override
                 public void run() {
                     System.out.println("Application Closed by click to Close Button(X)");
                     System.exit(0);
                 }
             });
         }
     });

关于java - 如何在 JavaFX 中获取阶段的关闭事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22576261/

相关文章:

java - 如何让我的程序输出第一个值

java - 如何使 JavaFX MediaView 拉伸(stretch)媒体以填充父级?

java - 在 JFrame 中配置 javaFX webengine

javafx - 在 javafx 中将整数转换为 ObservableValue<Integer>

java - 可选对象 spring boot - 获取对象字段

java - Spring JPA Repository - 单独的插入和更新方法

java - 在链表中的特定位置插入节点

JavaFX StackPane 获取前面的项目

java - 获取 JavaFX 表中的复选框值

java - TableView (javaFX) 仅显示空行