JavaFX 2.0:关闭一个阶段(窗口)

haa*_*nlu 29 javafx stage

我正在JavaFX 2.0中创建一个应用程序.在我的主窗口中,我正在启动一个带有一些设置的新窗口.调整完设置后,我想按下"保存更改"按钮.

我想要这个按钮来保存更改并关闭窗口.关闭我的意思是杀死它,而不是将它放在后台或设置可见性.我已经读过一个方法Stage.close()

http://docs.oracle.com/javafx/2.0/api/javafx/stage/Stage.html

正如您所看到的,它类似于方法Hide(),它只隐藏窗口,而不是关闭窗口.

问:有人知道任何方法或有一些代码可以帮助我关闭窗口吗?

所有帮助将不胜感激.谢谢!

jew*_*sea 47

您链接的文档指出stage.close():

关闭这个阶段.此调用等同于hide().

作为hide()等同于close()close()关闭阶段,然后hide()也关闭阶段.

当应用程序中的所有阶段都被隐藏(或者如果您愿意,则关闭,因为它是相同的),应用程序退出.令人困惑,我知道,但这就是JavaFX团队决定命名和实施行动的方式.

如果需要,可以使用Platform.setImplicitExit(boolean)方法关闭最后一个窗口关闭或隐藏时退出应用程序的默认行为.

  • @TharinduSathischandra 根据您的问题更新了答案。 (2认同)

小智 20

这对我来说非常适合(导入Node):

((Node)(event.getSource())).getScene().getWindow().hide();
Run Code Online (Sandbox Code Playgroud)