2009-05-28 7 views
3

J'ai cette JList (dis MyList) dans un JFrame. Im en utilisant le constructeur GUI Netbeans6 et j'ai mis une liaison pour cette liste.Java mise à jour JList en utilisant BeanBinding Netbeans

Lors de l'exécution, la liaison fonctionne correctement et MyList est correctement renseigné.

Maintenant, ce que je cherche est un moyen d'ajouter plus de données à cette liste à partir d'une autre zone de texte sur un bouton Cliquez sur. Mais le problème existe ici:

Sans liaison je voudrais extraire le ListModel pour le JList en utilisant la fonction "getModel()" et ajouter un élément en utilisant "addElement()".

Cependant, lorsque j'utilise la liaison. et j'essaie d'extraire le ListModel et la carte à DefaultListModel je reçois l'exception suivante:

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

Ma question est, comment puis-je ajouter d'autres éléments à MyList qui est déjà lié à un autre dataSource?

Quelqu'un a des indices? Toute aide sera grandement appréciée !!

Merci!

Répondre

2

Vous devez modifier la liste à laquelle JList est lié. Et cette liste doit être une liste Observable pour que la modification soit enregistrée. Le point de liaison est que vous ne manipulez plus les modèles des composants, mais plutôt leurs types de données sous-jacents.

+0

Merci pour la réponse! Cela fait un certain temps que j'ai posé cette question, et j'ai déjà travaillé sur ce problème. Mais pour les autres confrontés au même problème, cette réponse a du sens pour moi! Je n'ai pas essayé cependant, mais devrait fonctionner de cette manière! Merci! – Abhishek

Questions connexes