Как связать свойство составного объекта - PullRequest
0 голосов
/ 22 декабря 2011

Я новичок в SwingBindings.

У меня есть список bean-компонентов с именем Project, каждый проект имеет ссылку на другой bean-компонент с именем Config. Каждый Config имеет 2 атрибута. Как я могу связать с помощью swingbindings эти два атрибута Config bean-компонента для компонентов, образующих jframe?

список проектов привязан к комбинированному списку. Когда я изменяю выбранный элемент из выпадающего списка (проекта), я хочу обновить значения из конфигурации объекта, связанной с текущим выбранным проектом в форме.

1 Ответ

2 голосов
/ 22 декабря 2011

Попробуйте это:

  1. Создайте свой собственный рендерер ячеек, который реализует ListCellRenderer.
  2. Назначьте этот рендерер для comboBox, содержащего Projects.(comboBox.setRenderer(...))
  3. Теперь вы можете напрямую добавить свой экземпляр Project в comboBox и получить его обратно.
  4. В ListCellRenderer в getListCellRendererComponent(.....) метод приведения value (второй аргумент) в Projectи вернуть соответствующее значение, которое вы хотите отобразить в comboBox.(Может быть названием / названием проекта)
  5. Добавить слушателя в comboBox.(Может быть ItemListener) и в его методе действия получите выделенный объект comboBox, который будет вашим объектом Project.
  6. Из этого объекта проекта вы можете легко получить Config (как вы сказали, у вас есть ссылка на объект Configв объекте Project) и установите данные во фрейме.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...