【问题标题】:How to serialize JavaFX Nodes preferably in XML?如何最好在 XML 中序列化 JavaFX 节点?
【发布时间】:2014-07-16 12:27:24
【问题描述】:

我有某种绘图窗格,用户可以在其中绘制不同类型的形状,例如路径、矩形、文本等。现在我想保留 DrawState,以便我可以随时重新创建它。

我刚刚尝试使用 xstream,但像往常一样,在将这些 Shapes 保存在 XML 中时,我在这些 Shapes 中得到了很多依赖项。经过一番研究,我在这里找到了这个帖子:

Serialize JavaFX components

我喜欢 Jewelsea 使用 SceneBuilder API 序列化我的形状的想法,因为它们都受支持,而且 FXML 包含我可能需要的所有东西,而没有任何令人不安的引用。

您有使用 Scenebuilder API 的经验吗?在线程中指出,仅获得所需的东西可能很困难。或者您能否推荐任何其他方式来序列化 XML 中的形状?

【问题讨论】:

    标签: java serialization javafx javafx-8 scenebuilder


    【解决方案1】:

    这可能来得有点晚,但如果您使用 XStream,请注意我们共享了一组用于 JavaFX 类型的转换器:请参阅 https://github.com/dooApp/XStreamFX

    【讨论】:

      【解决方案2】:

      使用注解来描述要保存的数据,JAXB 使得从 XML 保存/加载对象变得非常简单。

      您可能希望为每个 JavaFX 对象创建模板对象,以便控制要存储的数据。这是tutorial on using JAXB.

      【讨论】:

      • 这几乎是我决定要走的路,所以我想我可以给你赏金,因为似乎没有更简单的方法来序列化 fx 对象。我使用了 xStream,并使用我自己的代表 fx 对象的模板对象创建了一些转换器来持久化它们。感谢您分享您的观点!
      • 我会研究 xStream。感谢分享
      猜你喜欢
      • 2015-05-22
      • 1970-01-01
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 2015-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多