Обновление Java JList с использованием BeanBinding Netbeans - PullRequest
3 голосов
/ 28 мая 2009

У меня есть этот JList (скажем, MyList) в JFrame. Я использую Netbeans6 GUI Builder, и я установил привязку для этого списка.

При запуске привязка работает нормально, и MyList заполняется правильно.

Теперь то, что я ищу, - это способ добавить больше данных в этот список из другого текстового поля при нажатии кнопки. Но проблема существует здесь:

Без привязки я извлек бы ListModel для JList с помощью функции "getModel ()" и добавил элемент к нему с помощью "addElement ()".

Однако, когда я использую Binding. и я пытаюсь извлечь ListModel и сопоставить его с DefaultListModel, я получаю следующее исключение:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: org.jdesktop.swingbinding.JListBinding$BindingListModel cannot be cast to javax.swing.DefaultListModel

Итак, мой вопрос: как мне добавить больше элементов в MyList, который уже связан с другим источником данных?

У кого-нибудь есть какие-нибудь подсказки? Любая помощь будет принята с благодарностью !!

Спасибо!

1 Ответ

2 голосов
/ 03 августа 2010

Вы должны изменить список, к которому привязан JList. И этот Список должен быть Наблюдаемым списком, чтобы изменение было зарегистрировано. Точка привязки заключается в том, что вы больше не манипулируете моделями компонентов, а вместо этого используете их типы данных.

...