假设我有一个班级:
class Boy
{
int age = 25;
}
我有一个JTextField,age,它更新了Boy的'age'实例字段。或者,如果男孩的年龄改变了另一种方式(也许是setAge()),我需要能够在JTextField中反映这种变化。
使用观察者模式是一种方式。在这种情况下,我被迫创建一个新类JTextFieldThatObserves(它继承自JTextField并实现Observer)
默认的JTextField是否无法执行我需要它做的事情?
答案 0 :(得分:2)
Java没有为Swing组件和对象的字段提供自动绑定框架。这是它的一个主要缺陷!
我担心这样做的唯一机制是在小部件和对象上使用观察者模式,并且注意无限循环。
在这些情况下有用的是PropertyEditor
,因为它可以帮助您避免创建大量不同的侦听器/事件类。
答案 1 :(得分:0)
如果你要做的不仅仅是一些微不足道的事情,我强烈建议你花点时间学习一个可用于Java的绑定框架。我个人使用Better Beans Bindings。