Bonsoir,
Je suis étudiant en DUT Informatique et dans le cadre d'un projet tuteuré j'ai à réaliser une application Java en équipe. Jusque là tout allait bien seulement là je tombe sur un os.
J'ai des éléments de plan de bâtiment de diverses natures à représenter graphiquement (mur, fenêtre, bâtiment, étage, . . .) et une hiérarchie entre ces éléments (étage dans un bâtiment, étage dans une bâtiment, . . .). J'ai donc choisis d'utiliser un JTree pour gérer la hiérarchie.
Tous mes constructeurs d'élément contiennent un code du genre :
getNode() étant l'accesseur permettant de récupérer le nœud de l'élément monPere contenant le nouvel élément. Ce qui donne au final une hiérarchie du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 elemNode = new DefaultMutableTreeNode("Element"); monPere.getNode().add(elemNode);
Site
__+Batiment1
__________+Etage1
__________+Etage2
__________+Etage3
__+Batiment2
__________+Etage1
__________+Etage2
Mon soucis viens du fait que si j'instancie mes éléments sans déplier l'arbre, alors la structure est bien dessinée dans le JTree. En revanche si je déplie le JTree puis que j'instancie mes éléments, alors le JTree n'affichera que les instances crées avant son déploiement. J'ai bien essayé la méthode repaint() sur mon JTree mais rien n'y fait.
Mon autre soucis est que je voudrais pouvoir récupérer l'instance du DefaultMutableTreeNode quand je clique sur le noeud correspondant dans le JTree. A ce problème je n'ai même pas trouvé une seule ébauche d'une solution.
Je pense que vous pourrez m'éclairer.
Cordialement,
Lionel.
Partager