我想在关闭Java fx应用程序之前从最后一个窗口(程序中可以使用几个窗口)保存信息。
我尝试使用stop()
方法执行此操作,但是它保存了第一个打开的窗口。
使用Platform.exit()
在关闭randow窗口后停止整个应用程序。
我试图做一些特殊的主窗口,并让用户通过使用额外的按钮保存选择的窗口,但这不是最漂亮的解决方案。
如何保存上次使用的窗口?是否有任何事件处理程序可以解决我的问题?
答案 0 :(得分:1)
是的,您可以尝试几种方法...
1)在Application类的内部,在Application#launch方法中,指定onCloseRequest事件
yourStage.setOnCloseRequest(event -> {
//Do Your on close events here
});
2)在您的Application类中,重写Application#stop方法
@Override
public void stop(){
//Do Your on close events here
}
或者,您可以为jvm退出时指定一个系统关闭挂钩,您可以这样做
Runtime.getRuntime().addShutdownHook(() -> whatToDoOnExit());