Noeuds de JTree sélectionnés et UserObject
Bonjour !
J'ai un petit problème pour un programme en java: il y a un arbre JTree dont les noeuds contiennent un UserObject redéfini avec deux variables: "nom" et "path".
Je voudrais pouvoir récupérer la variable "path" de tous les noeuds séléctionnés...
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
private javax.swing.JTree treeClient;
public String[] getTreeSelection() {
int i = 0;
DefaultMutableTreeNode noeud;
String[] ret = new String[(treeClient.getSelectionPaths()).length];
// tant qu'il reste des noeuds séléctionnés
while(!treeClient.isSelectionEmpty()) {
// on récupère le dernier (?) noeud séléctionné
noeud = (DefaultMutableTreeNode)treeClient.getLastSelectedPathComponent();
// on accède à la variable "path" du UserObject de ce noeud
ret[i] = ((UserObject)noeud.getUserObject()).path;
// et on déséléctionne ce noeud pour passer au prochain
treeClient.removeSelectionRow(treeClient.getMaxSelectionRow());
i++;
}
return ret;
} |
A l'éxécution, il semble que certains "path" ne sont pas renvoyés, et d'autres sont en double. Je suppose que c'est mon 'removeSelection()' qui n'est pas adapté... Avez-vous une idée ?
Merci