alafosse
Messages postés3Date d'inscriptionlundi 2 mai 2005StatutMembreDernière intervention21 juillet 2005
-
20 juil. 2005 à 14:02
ManTico
Messages postés11Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention21 juillet 2005
-
21 juil. 2005 à 21:05
Bonjour à tous,
Voilà mon problème :
J'utilise le design pattern MVC. Donc j'ai un modéle et une des vue de mon modéle est un jtree. J'ai une classe, TreeFormater, qui , à partir de mon modèle permet de construire un DefaultTreeModel. Ensuite, j'instancie un JTree et je fais un setModel(mon DefaultTreeModel) à ce JTree.
Mon problème est pour la mise à jour de ce JTree, j'ai l'impression que je suis obligé de refaire un setModel à chaque fois que mon modèle change...
C'est pas terrible car toutes les branches séléctionnées par l'utilisateur se referment...
A voir également:
Le code contenu dans ce projet doit être mis à jour 64 bits
ManTico
Messages postés11Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention21 juillet 20051 21 juil. 2005 à 21:05
C'est normal qu'il le referme. En verité il ne le referme pas, il supprime tout les noeuds, puis ajouter les noeuds qui sont dans le modèle. Pour modifier ton arbre sans qu'il se referme, il faut recupèrer le model de l'arbre et y ajouter/supprimer les noeuds voulu. Il y a le méthode getModel() du JTree qui récupère le model, la méthode getRoot() du modèle qui récupère le noeud principal de l'arbre et se noeud, tu le converti en un DefaultMutableTreeNode, ou si tu as creer une classe pour les noeuds en cette classe et après tu peux te déplacer dans les noeuds et en ajouter/supprimer avec le méthode add()/remove() du DefaultMutableTreeNode, et après avoir fait le ajout/suppression appeler la méthode updateUI() du JTree pour qu'il affiche l'arbre modifier à l'écran.