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:
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 ?
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 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; }
Merci
Partager