【问题标题】:Saving state of a Window in Java/SWT在 Java/SWT 中保存窗口的状态
【发布时间】:2010-07-22 16:27:15
【问题描述】:

我正在尝试使用 Java 和 SWT 为 GUI 构建一个小型应用程序。我正在寻找一种将用户设置的首选项存储在某个文件中的方法,我的意思是,如果调整了窗口大小,那么应该保存新的大小以供下次应用程序启动时使用。文本框等一些控件也是如此。

我想出了两个办法来解决这个问题:

  • 使用经典的手工制作的 .ini 文件来存储这些首选项。但它看起来很丑陋且难以维护。
  • 包含 GUI 的整个类的序列化/反序列化。不知道这是否可能。

有什么想法吗?我该怎么办?

提前致谢。

添加:

我不是在做一个 Eclipse RCP 项目,它只是一个普通 SWT 应用程序。

更多: 我已经尝试过序列化,但是 SWT 小部件不支持它,所以我发现的唯一其他选择是创建另一个类,比如 Configuration,将其标记为可序列化并保存我的小部件的值。几乎就像使用 java.util.prefs.Preferences 一样,但没有那么简单。

我还在等着看是否有其他方法可以做到这一点,也许涉及一些绑定。

【问题讨论】:

  • 有人告诉我可以序列化 Swing 组件。也许你可以试试 SWT。
  • 我无法让它工作,所有 swt 小部件都不支持序列化。

标签: java swt preferences user-preferences


【解决方案1】:

看看Memento设计模式。

Eclipse RCP已经复用了这个原理,更多信息可以参考如下接口:

org.eclipse.ui.IMemento

【讨论】:

  • 谢谢,但我刚刚找到了 java.util.prefs.Preferences 类,我认为比你建议的要好,无论如何我必须手动进行绑定。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-04
  • 2017-05-06
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
  • 2022-11-15
相关资源
最近更新 更多