如何在FXML控制器中检查应用程序是否关闭

时间:2016-12-29 12:26:39

标签: java javafx-8

如果要在FXML控制器中关闭应用程序(不是从Application派生的主类,而是从{{3}派生的FXML文件附加的控制器,是否有任何方法可以检查(并在其上附加事件处理程序) }})?

谢谢,非常感谢。

1 个答案:

答案 0 :(得分:2)

此示例可帮助您获得所需的位置。

   FXMLLoader loader = new FXMLLoader();
    Parent node = loader.load(getClass().getResource("myfxml.fxml")).openStream());
    Scene scene = new Scene(node);
    Stage stage = new Stage();
    MyController controller = (MyController)loader.getController();

    stage.setTitle(titleString);
    stage.setScene(scene);
    stage.setOnHidden(event -> {
    //do all your processing here
         controller.doSaveHere();
    });
    stage.show();

但是你可以使用其他钩子 - setOnHiding()或setOnCloseRequest()