JTree et les objets

cs_LoOnEy Messages postés 10 Date d'inscription dimanche 21 septembre 2003 Statut Membre Dernière intervention 6 juillet 2009 - 5 juin 2009 à 10:24
cs_LoOnEy Messages postés 10 Date d'inscription dimanche 21 septembre 2003 Statut Membre Dernière intervention 6 juillet 2009 - 5 juin 2009 à 10:49
Bonjour à tous,

Je suis actuellement entrain de créer un JTree dans lequel je stoque des objets.
Comme vous le savez sans doutes déjà le principe est de créer un objet en lui intégrant la fonction toString(), ce qui va permettre une fois l'objet placé en tant que node dans l'arbre de pouvoir afficher un libellé mais de pouvoir également accéder à toutes ses méthodes et propriétés en castant le node.getUserObject() dans l'objet en question.
Cela fonctionne très bien dans mon cas pour les derniers éléments des branches de l'arbre (les feuilles ou leaf).
petit exemple de mon code:

TreePath[] tp = monArbre.getCheckingPaths();
MyObject monObjet = (MyObject) ((DefaultMutableTreeNode) tp[i].getLastPathComponent()).getUserObject();

Mais le probleme survient lorsuqe je fais la meme chose sur un node qui n'est pas une feuille. Lorsque je parcours la branche séléctionnée :

int i=0;
MyNodeObject test = (MyNodeObject) ((DefaultMutableTreeNode) tp[i].getPathComponent(j)).getUserObject();

Sachant que je crée mes nodes de la meme manière qu'ils soient feuilles ou non:

MyObject monObjet = new MyObject();
DefaultMutableTreeNode monDMTN = new DefaultMutableTreeNode(monObjet);
noeudPrecedent.add(monDMTN);

Merci d'avance pour vos réponse :)

Lo0n3y

1 réponse

cs_LoOnEy Messages postés 10 Date d'inscription dimanche 21 septembre 2003 Statut Membre Dernière intervention 6 juillet 2009
5 juin 2009 à 10:49
Autant pour moi cela ne vient pas du JTree, mais de la boucle avec laquelle je parcours ma branche. En effet j'avais mal géré le compteur et je me retrouvais à caster un node qui ne correspondait pas au bon objet :p

Lo0n3y
0
Rejoignez-nous