有没有办法将EventHandler添加到关闭窗口按钮(标题栏上的X)JavaFX

时间:2015-04-22 06:42:00

标签: java javafx

正如标题所示 - 我已经寻找了一段时间,而且我似乎找不到答案。 setOnHiding和setOnHidden阶段方法都不适用于关闭的X按钮。

编辑:我想要实现的是重置关闭动作的变量值。这可以通过自定义控制器轻松完成 - 在这种情况下是MenuItem(setOnHidden在这里工作,但不是setOnCloseRequest)。后一种方法使用关闭按钮,如答案中所示。

1 个答案:

答案 0 :(得分:0)

使用EventHandler捕获WindowEvent

public class MYUI extends Application implements EventHandler<WindowEvent> {  
    @Override  
    public void start(Stage s) throws Exception {  
      s.setOnCloseRequest(this);  
    }  

    @Override  
    public void stop() throws Exception {  
    }  

    @Override  
    public void handle(WindowEvent event) {  
        [...] your code
    }  
} 

或MadProgrammer建议

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

      @Override
      public void handle(WindowEvent we) {
          [...] // your code
      }

});