Связывание переменной и текстового поля в Java - PullRequest
0 голосов
/ 19 декабря 2009

Как я могу связать переменную и текстовое поле самым простым способом?

т.е. Если пользователь изменяет содержимое текстового поля, переменная изменяется, и если программа изменяет переменную, текст в текстовом поле изменяется.

N.B. Я использую библиотеки Swing и AWT.

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 20 декабря 2009

Если вы обнаружите, что делаете множество пользовательских привязок пользовательского интерфейса / компонента, рассмотрите JGoodies Binding .

Использование Observable или DocumentListener в порядке.

Для более сложных вещей, вы можете посмотреть PropertyEditor , BeanDescriptor , BeanInfo и Customizer классы / интерфейсы.

1 голос
/ 19 декабря 2009

поместите вашу переменную в Observable обертку. Он сообщит JTextfield об изменениях.

добавьте DocumentListener в field.getDocument (), чтобы сообщить вашей переменной, что ее значение должно измениться.

0 голосов
/ 19 декабря 2009

Я бы просто добавил ActionListener в JTextField для прослушивания изменений. Когда пришло время обновить поле, внесите изменения в JTextField и будьте готовы игнорировать события, которые оно вызывает в результате.

Другим вариантом является непосредственное редактирование поля Document и добавление DocumentListener для прослушивания изменений. Однако работа с документами кажется мне более сложной, чем нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...