JavaFX Stage关闭事件处理程序

时间:2017-06-14 15:06:01

标签: java events javafx

我在JavaFX中有一个可以通过多种方式关闭的舞台,可以通过单击红色(X)或通过调用stage.close()

的按钮来关闭

无论舞台是如何关闭的,我都希望在关闭之前执行某个动作。

如果我使用以下代码:

myStage.setOnCloseRequest( event -> {System.out.println("Closing Stage");} );

然后在我点击(X)时调用处理程序,而不是在我调用myStage.close()

时调用

这个问题与此问题相同(有一个关键区别): JavaFX: Stage close handler

不同之处在于他希望在整个应用程序关闭时调用处理程序,因此可以覆盖Application的{​​{1}}方法。但是,我没有关闭整个应用程序,只是一个阶段。并且stop()没有要覆盖的Stage方法。

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

感谢VGR的评论,我正在寻找的解决方案就像用setOnCloseRequest替换setOnHiding一样简单:

myStage.setOnHiding( event -> {System.out.println("Closing Stage");} );