我正在JavaFX 2.0中创建一个应用程序 . 在我的主窗口中,我正在启动一个带有一些设置的新窗口 . 调整完设置后,我想按下“保存更改”按钮 .
我想要这个按钮来保存更改并关闭窗口 . 关闭我的意思是杀死它,而不是将它放在后台或设置可见性 . 我已经读过一个方法Stage.close()
http://docs.oracle.com/javafx/2.0/api/javafx/stage/Stage.html
正如您所看到的,它类似于方法Hide(),它只隐藏窗口,而不是关闭窗口 .
问:有人知道任何方法或有一些代码可以帮助我关闭窗口吗?
非常感谢所有帮助 . 谢谢!
3 回答
您链接的文档指出
stage.close()
:由于
hide()
相当于close()
并且close()
关闭了舞台,因此hide()
也会关闭舞台 .当应用程序中的所有阶段都被隐藏(或者如果您愿意,则关闭,因为它是相同的),应用程序退出 . 令人困惑,我知道,但这就是JavaFX团队决定命名和实施行动的方式 .
如果需要,可以使用Platform.setImplicitExit(boolean)方法关闭最后一个窗口关闭或隐藏时退出应用程序的默认行为 .
这对我来说非常合适(导入
Node
):对于也有兴趣收听关闭窗口事件的用户,请向窗口添加一个事件过滤器:(当用户按下应用程序的OS关闭按钮时,也会触发此事件)
如果需要使用自定义关闭按钮关闭应用程序,则在按钮的
onAction
方法中触发事件: