2

如何确保 Swing GUI 与可能随时更改的底层数据结构保持同步?

假设我们有一个可以随时修改的数据结构,现在我希望显示数据结构内容的 GUI 自动反映这些更改。如何使它们保持同步?

我正在尝试使用 HashMap 在这里实现一个联系人簿来存储联系人。GUI 显示通讯录的内容。

在 ContactBook 类中,我有地图以及添加或删除条目的方法。

GUI 最初从通讯录加载内容。但是当 hashMap 被修改时,我希望更新 GUI。

4

2 回答 2

1
  • 给 ContactBook 类,你的模型,一个 SwingPropertyChangeSupport 对象,用 初始化this
  • 给同一个类添加和删除将侦听器传递给支持对象的 PropertyChangeListener 方法。
  • 在任何更改数据的 ContactBook 方法中,通过触发支持对象来通知侦听器。
  • 让您的 GUI 将 PropertyChangeListener 添加到允许它响应通知的模型中。

例如:

于 2013-07-08T15:35:59.663 回答
0

谢谢大家的回答和建议,我继续使用 Guava EventBus来通知 GUI 更新。

于 2013-07-15T17:10:06.877 回答