Swing Привязка данных для нескольких J-компонентов

#java #swing #data-binding

#java #swing #привязка к данным #привязка данных

Вопрос:

Я довольно новичок в JAVA. У меня есть модель домена (содержащая данные), и у меня есть модель просмотра (предоставляющая графический интерфейс). Теперь у меня есть несколько JLabels (или любых других J-компонентов) в разных окнах, привязанных к одному и тому же источнику данных в модели домена.

Я пытался использовать beansbinding, но, к сожалению, beansbinding, похоже, не поддерживает привязку нескольких виджетов к одному источнику — обновляется только один виджет, остальные остаются нетронутыми.

JGoodies для меня невозможен из-за вопросов с лицензией.

Кто-нибудь знает другой (бесплатный) проект привязки данных для SWING?

Заранее спасибо, Джоан

Комментарии:

1. Я не знаю никакой альтернативы и написал свой собственный VMC-Databinding-Manager

2. вероятно, что-то не так с кодом, который вы не показываете 😉 Нет ограничений на количество привязок для любого свойства, поэтому при правильной настройке все метки должны обновляться при обновлении отображаемого свойства bean

Ответ №1:

Взгляните на образец приложения Client Editor, поставляемого с NetBeans (Новый проект -> Образцы / Java / Client Editor).

  1. Откройте основной фрейм: ClientEditor.java
  2. Добавьте где-нибудь метку (например,в левом нижнем углу)
  3. Измените его привязку (в окне свойств) и используйте ту же «формулу», что и usernameLabel (справа от «Информация о клиенте:»), которая: Form[${client.firstName} ${client.surname}]

Результат:
Возможна множественная привязка