确保Swing GUI与底层数据结构保持同步

时间:2013-07-08 15:04:52

标签: java swing dynamic user-interface

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

假设我们有一个在任何时候都被修改的数据结构,现在我想要我的GUI,它显示数据结构的内容,以自动反映这些变化。如何让它们保持同步?

我正在尝试使用HashMap在此处实现联系人书籍来存储联系人。 GUI显示联系簿的内容。

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

GUI最初加载联系簿中的内容。但是当hashMap被修改时,我想要更新GUI。

2 个答案:

答案 0 :(得分:1)

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

例如:

答案 1 :(得分:0)

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