-
JTree et récup de lignes
Hello everybody
voila, j'ai fait un JTree du type:
root
|-GroupeA
.. |-Eleve1
.. |-Eleve2
|-GroupeB
.. |-Eleve3
.. |-Eleve4
Quand je clique par exemple sur Eleve4, je fais un getRowForPath pour avoir la ligne correspondantà cet eleve.
Mon probleme, c'est que je n'obtiens pas le meme resultat si la branche "groupe A" est développée ou non(Eleves 1 et 2 affichés à l'ecran)
Si "GroupeA" est développé, j'obtiens un entier supérieur de 2 (eleve1 + eleve2) à ce que je voudrais.
Y-a-t-il une facon d'avoir toujours le même entier ?
-
Que souhaite tu faire exactement ?
pour la gestion de la sélection dans un Jtree; il faut regarder du coté de javax.swing.event.TreeSelectionListener et javax.swing.event.TreeSelectionEvent
-
Precisions de mon pb:
En fait, mon JTree prend des groupes et des eleves à partir d'une base de données.
Ce qui m'interesse, ce n'est donc pas le nom des eleves ou des groupes mais leur identifiant.
Pour cela, j'ai fait une classe noeud qui dérive de javax.swing.tree.DefaultMutableTreeNode, et qui contient ces identifiants.
pour récupérer le nom, je fais:
Path.getLastPathComponent().toString();
Mais pour avoir l'identifiant, je ne peux pas faire :
Path.getLastPathComponent().getIdentifiant
(getIdentifiant est définie ds ma classe Noeud)
J'essaye donc de récupérer mon Noeud par un autre biais, en connaissant sa place ds le JTree.
-
le Path.getLastPathComponent() renvoie un Object (qui doit être de type Node)
=> à vérifier, mais je pense que tu dois pouvoir faire
pour verifier il suffit de faire System.out.println(Path.getLastPathComponent().getClass().getName);
Code:
((Noeud)Path.getLastPathComponent()).getIdentifiant()
-
OK, ca marche !
Merci fnobb.