我的 GUI 中有一个下拉框,它显示另一个类中 ArrayList 的内容。
新对象可以添加到 GUI 中其他位置的 ArrayList 中,因此我需要知道它何时更新,以便刷新下拉菜单。据我所知,我的两个选择是扩展 ArrayList 类以允许我向其中添加自己的changeListener,或者使包含相关 ArrayList 的类扩展为可观察的。
哪一个是更合适的解决方案?
这两种解决方案本质上是相同根设计模式(四人帮定义的“观察者”模式)的实现。在前一种情况下,您使 ArrayList 本身“可观察”,在后一种情况下,您使域使用数组列表“observable”的对象。
我的倾向是做后者:使领域对象可观察。这主要是因为您最终可能会对域对象进行其他更改(应更新 GUI)。如果它已经是可观察的,则您已经设置好了。
请注意,您不必严格扩展java.util.Observable
- 您无需这样做即可实现设计模式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)