2009-05-28 2 views
3

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

При запуске привязка работает нормально, а 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, которые уже привязаны к какому-либо другому DataSource?

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

Спасибо!

ответ

2

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

+0

Спасибо за ответ! Это было довольно давно, когда я задал этот вопрос и уже справился с этой проблемой. Но для других, сталкивающихся с одной и той же проблемой, этот ответ имеет смысл для меня! Я еще не пробовал, но должен работать так! Спасибо! – Abhishek