Expand d'un tree sur un noeud précis
Bonjour à tous,
Tous d'abord le code :
Code:
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;
}
}
} |
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é.
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 ligne
Code:
treeModel2.setRoot(dynamicNode.getPath()[3]);
est 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.
Comment puis je faire pour ne pas voir les trois premier noeuds de mon tree.