Bonsoir à tous,
J'ai un projet qui consiste à créer une petite application qui permet d'entrer des coordonnées et d'afficher des figures en 2D. J'ai voulu mettre un JTree dans ma fenêtre afin de lister les différentes figures, les modifier etc. J'ai eu un souci. A chaque fois que j'essaye d'ajouter une figure dans l'arbre, je ne vois plus que les nœuds et plus les feuilles, ce qui n'est pas très pratique. J'ai alors créer un tableau qui stocke l'état de chaque nœud avant l'ajout et ensuite j'utilise la méthode expandRow pour les remettre à leur état d'origine. Cependant, j'ai un problème avec la méthode getLevel que j'utilise pour obtenir la ligne du nœud qui m’intéresse : elle me retourne toujours 0 ou 1. Je met la partie du code qui me pose problème. Savez-vous comment résoudre ce problème ?
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 public void createNodes(DefaultMutableTreeNode node, String str) { DefaultTreeModel model = (DefaultTreeModel)tree.getModel(); DefaultMutableTreeNode p1 = new DefaultMutableTreeNode(str); node.add(p1); boolean[] expand = new boolean[4]; expand[0] = tree.isExpanded(root.getLevel()); expand[1] = tree.isExpanded(point.getLevel()); expand[2] = tree.isExpanded(segment.getLevel()); expand[3] = tree.isExpanded(triangle.getLevel()); tree.scrollPathToVisible(new TreePath(p1.getPath())); model.reload(root); if(expand[0]) { tree.expandRow(root.getLevel()); } if(expand[1]) { tree.expandRow(point.getLevel()); } if(expand[2]) { tree.expandRow(segment.getLevel()); } if(expand[3]) { tree.expandRow(triangle.getLevel()); } }



Répondre avec citation
Partager