【问题标题】:Saving user interface into fxml : javafx将用户界面保存到 fxml 中:javafx
【发布时间】:2023-04-01 06:05:02
【问题描述】:

我有一个 javafx 应用程序,它让用户可以添加他/她想要的按钮。

我从包含默认用户界面fxml文件加载我的主场景根

当用户更改界面时,我使用@FXML 注释更改场景。

此更改是暂时的,下次运行应用程序时,用户界面将与原来相同。所以这是我的问题:

如何将运行时对应用程序界面所做的更改保存到新的fxml 文件中?

【问题讨论】:

  • 没有内置的方法可以做到这一点。您需要在应用关闭时持久化应用的状态(您感兴趣的状态)(您可以覆盖Application.stop() 以在应用关闭时执行代码);然后在控制器的 initialize() 方法中读取最后一个状态并将其应用于正在启动的应用程序。

标签: java javafx fxml


【解决方案1】:

FXML 文件是一个 xml 文件,因此您可以使用任何 XML 库进行编写。

但我建议将按钮保存在 json 或属性文件中,然后通过代码重新添加。

因此,如果应用程序停止将按钮保存到文件中并且如果应用程序再次启动将它们添加到场景中,这比将它们保存到 FXML 文件中要容易得多。

但是如果你真的想用 FXML 来做这个,看看 https://bitbucket.org/gluon-oss/scenebuilder 也许您可以使用 SceneBuilder 中的一些代码将您的场景保存为 FXML。

【讨论】:

    猜你喜欢
    • 2020-08-20
    • 2016-07-17
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多