Bonjour à tous,
J'ai un JTree qui se rempli au démarrage, et j'aimerai développer tous les noueds...
Alors déjà je comprend pas, je branche un listener sur le modèle par défaut comme ça:
ça marche pas je reçois rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part _tree.getModel.addTreeModelListener(this);
ça marche pas je reçois rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DefaultTreeModel model = new DefaultTreeModel(_rootNode); model.addTreeModelListener(this);
toujours rien..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 addTreeModelListener(new TreeModelListener() { ............ }
Enfin bref, j'ai une structure dans mes données, avec des écouteurs, y'a pas trop de type de données (6 dont 3 sont des listes) et chaque type est dérivé d'un type de base, ça facilite le bordel. J'ai tenté de faire un model en implémentant les bases, mais bon.. j'ai préféré le faire moi même et c'est lui qui va me prévenir qu'il a ajouter une node quelque part.
Alors je recoi l'évènnement et je fais:
parent est un object qui englobe mon objet et la node.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 TreePath path = new TreePath(parent.getNode().getPath()); if(_tree.isExpanded(path) == false) { _tree.expandPath(path); }
Alors le résultat... ça n'affiche pas toutes les node en fait pour chaque noeud, ça en affiche qu'une, la première...
J'ai trouvé plusieurs algo, et si je les met là dedant, ça fait pareil. Je suppose que lorsqu'il est chargé entièrement ça posera pas de problème, mais j'peux pas détecter la fin, et puis les objects sont assez lourd a charger, ça serait cool de pouvoir voire le chargement grace au JTree puis les changements etc... enfin bref il affiche trop de données importantes pour l'utilisateur pour le cacher le temps que tout se charge.
Quelqu'un a une idée?
Merci![]()
Partager