Bonjour,
je voudrai rajouter une racine fictive à un arbre (JTree). Pour conserver les liens de parentés je voudrais modifier tous les TreePath en leur ajoutant "fictive" au départ.
ex :
[A]
[A,B]
[A,B,C]
deviendrait :
[fictive,A]
[fictive,A,B]
[fictive,A,B,C]
Voici ce que j'ai fait :
tp est mon tableau de TreePath
Code :
- for(int i=0; i<tp.length;i++) {
- String path = tp[i].toString().substring(1,tp[i].toString().length()-1);
- //String newPath = "fictive , "+path;
- //TreePath newTp = new TreePath(newPath);
- MutableTreeNode fictive = new DefaultMutableTreeNode("fictive" );
- TreePath pathFictive = new TreePath(fictive);
- TreePath finalPath = pathFictive.pathByAddingChild(path);
- System.out.println(finalPath);
- userSelection.add(finalPath);
- }
|
J'obtiens bien des TreePath de ce type : [fictive, Document : ]
Mais a priori quelque soit le noeud de mon arbre si je recherche son parent je retombe sur fictive.
L'erreur n'est pas forcement celle la mais je voudrait savoir si la modification de mon Treepath est correcte ?
J'ai aussi trouvé ce constructeur :
Code :
- protected TreePath(TreePath parent, Object lastElement)
- Constructs a new TreePath, which is the path identified by parent ending in lastElement.
|
mais il est protected et je ne sais pas comment l'utiliser...
Merci