在 Swing 中,您可以简单地使用 setDefaultCloseOperation()
在窗口关闭时关闭整个应用程序。
但是在 JavaFX 中我找不到等价物。我打开了多个窗口,如果窗口关闭,我想关闭整个应用程序。在 JavaFX 中有什么方法可以做到这一点?
编辑:
我知道我可以重写 setOnCloseRequest()
以在关闭窗口时执行一些操作。问题是应该执行什么操作来终止整个应用程序?
stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
@Override
public void handle(WindowEvent event) {
stop();
}
});
Application
类中定义的stop()
方法什么都不做。
最佳答案
当最后一个 Stage
关闭时,应用程序会自动停止。此时,你的 Application
类的 stop()
方法被调用,所以你不需要一个等价于 setDefaultCloseOperation()
如果您想在此之前停止应用程序,您可以调用 Platform.exit()
,例如在您的 onCloseRequest
调用中。
您可以在 Application
的 javadoc 页面上获得所有这些信息:http://docs.oracle.com/javafx/2/api/javafx/application/Application.html
关于java - 如何在窗口关闭时关闭 JavaFX 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12153622/