如何持久化或保存JavaFX UI状态?

时间:2015-09-24 09:29:47

标签: java swing user-interface javafx javafx-8

这里有人问过: How to persist JavaFX GUI State? 并且标签为javafx-2。但没有答案。

再问一遍,并加入更多标签。

我正在寻找类似 JSR 296:Swing Application Framework 中所做的事情,其中​​演示应用程序会记住它的窗口大小,位置等。例如,如果用户最大化窗口,然后关闭,再次打开程序,窗口最大化。

1 个答案:

答案 0 :(得分:5)

您可以使用Preferences API存储基本信息。

根据操作系统的不同,首选项会保存在不同的位置(例如,在Windows中,它们存储在注册表文件中)。

典型用法如下:

  • 存储值:

    Preferences prefs = Preferences.userNodeForPackage(MyClass.class);
    prefs.putBoolean("isWindowMaximized", true);
    
  • 获取值:

    Preferences prefs = Preferences.userNodeForPackage(MyClass.class);
    boolean value = prefs.getBoolean("isWindowMaximized", false);
    

您可以在此Oracle tutorial中找到有关此API的更多信息。