将最后一个窗口的属性/内容保存在javafx

时间:2019-01-21 20:58:18

标签: java javafx-8

我想在关闭Java fx应用程序之前从最后一个窗口(程序中可以使用几个窗口)保存信息。 我尝试使用stop()方法执行此操作,但是它保存了第一个打开的窗口。

使用Platform.exit()在关闭randow窗口后停止整个应用程序。 我试图做一些特殊的主窗口,并让用户通过使用额外的按钮保存选择的窗口,但这不是最漂亮的解决方案。

如何保存上次使用的窗口?是否有任何事件处理程序可以解决我的问题?

1 个答案:

答案 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());