Шаблон наблюдателя для JTextField? - PullRequest
2 голосов
/ 17 ноября 2010

Предположим, у меня есть класс:

class Boy
{
      int age = 25;
}

У меня есть JTextField, age, который обновляет поле экземпляра age для Boy.В качестве альтернативы, если возраст мальчика изменяется другим способом (возможно, setAge ()), я должен быть в состоянии отразить это изменение в JTextField.

Использование шаблона наблюдателя - это один из способов.В этом случае я вынужден создать новый класс JTextFieldThatObserve (который наследуется от JTextField и реализует Observer)

Является ли JTextField по умолчанию неспособным делать то, что мне нужно для этого?

Ответы [ 2 ]

2 голосов
/ 17 ноября 2010

Java не поставляется с автоматической структурой привязки для компонентов Swing и полей объекта.Это один из его главных недостатков!

Боюсь, единственный механизм, который это делает, - это использование шаблона наблюдателя как на виджете, так и на объекте, и наблюдение за бесконечными циклами .

Одна вещь, полезная в этих случаях, - это PropertyEditor, поскольку она избавляет вас от создания миллиарда различных классов слушателей / событий.

0 голосов
/ 17 ноября 2010

Если вы собираетесь заниматься чем-то большим, чем просто тривиальным, я настоятельно рекомендую вам потратить немного времени на изучение одной из обязательных сред, доступных для Java. Я лично использую Better Beans Bindings .

...