Bonjour à tous,
Tous d'abord le code :
Ce code permet théoriquement de récupérer le path d'un objet et d'eefectuer une fois l'objet trouvé l'expand du tree du noeud sélectionné.
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 Object obj = this.dynamicNode.getUserObject(); treeModel2.setRoot(dynamicNode.getPath()[3]); tree.setModel(treeModel2); tree.setRootVisible(true); DefaultMutableTreeNode rootTree = (DefaultMutableTreeNode) tree.getModel().getRoot(); Enumeration e = rootTree.preorderEnumeration(); TreeNode[] paths = null; while (e.hasMoreElements()) { DynamicNmsTreeNode tt = (DynamicNmsTreeNode) e.nextElement(); if (tt.getUserObject().equals(obj)) { tree.expandPath(new TreePath(tt.getPath())); break; } } }
Le path est bien récupérer mais lorsque l'on exécute expandpath le tree ne se déploie pas. Le problème vient du fait que l'on modifie le noeud root du path.
Si la ligneest commenté l'expand path fonctionne mais il me fait voir les trois premiers noeuds du tree alors que je désire ne pas les voir.
Code : Sélectionner tout - Visualiser dans une fenêtre à part treeModel2.setRoot(dynamicNode.getPath()[3]);
Comment puis je faire pour ne pas voir les trois premier noeuds de mon tree.
Partager