2

假设我有一堂课:

class Boy
{
      int age = 25;
}

我有一个 JTextField,年龄,它更新 Boy 的“年龄”实例字段。或者,如果男孩的年龄以另一种方式更改(可能是 setAge() ),我需要能够在 JTextField 中反映这种变化。

使用观察者模式是一种方法。在这种情况下,我是否被迫创建一个新类 JTextFieldThatObserves(继承自 JTextField 并实现 Observer)

默认的 JTextField 不能做我需要做的事情吗?

4

2 回答 2

1

Java 不附带用于 Swing 组件和对象字段的自动绑定框架。这是它的主要缺陷之一!

恐怕这样做的唯一机制是在小部件和对象上使用观察者模式并注意无限循环

在这些情况下有用的一件事是,PropertyEditor因为它使您免于创建大量不同的侦听器/事件类。

于 2010-11-16T21:45:48.773 回答
0

如果您要做的这类事情不只微不足道,我强烈建议您花一点时间学习一个可用于 Java 的绑定框架。我个人使用Better Beans Bindings

于 2010-11-17T05:54:48.857 回答