hello tout le monde...
j'aimerai savoir comment je pourrai faire pour récupérer un DefaultMutableTreeNode a partir de son nom en string !
merci![]()
hello tout le monde...
j'aimerai savoir comment je pourrai faire pour récupérer un DefaultMutableTreeNode a partir de son nom en string !
merci![]()
Ben je vois bien un moyen : dabord, tu récupères le noeud root de l'arbre, puis tu le parcoures, ainsi que ses fils, de manière récursive, pour retrouver le noeud que tu recherches.
Par contre, si ce que tu veux, cest juste récupérer le noeud sélectionné par l'utilisateur dans un arbre, ya plus simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 try { return (DefaultMutableTreeNode) tonArbre.getSelectionPath().getLastPathComponent(); } catch(Exception exception) { return null ; }
1) Récupérer le noeud root, puis appliquer la fonction suivante sur ce noeud root :
2) Définis ensuite ta fonction
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
20
21
22
23
24 DefaultMutableTreeNode searchNode( DefaultMutableTreeNode node, String text) { if( node == null ) return null ; if( taFonctionRecherche( node, text ) == true ) return node ; Enumeration enumeration = node.children(); while( enumeration.hasMoreElements() ) { DefaultMutableTreeNode nodeSuivant = (DefaultMutableTreeNode) enumeration.nextElement(); DefaultMutableTreeNode nodeResult = searchNode( nodeSuivant, text ); if( nodeResult != null ) return nodeResult ; } return null ; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part boolean taFonctionRecherche( DefaultMutableTreeNode node, String text )
merci !!!![]()
voila la fonction que j'ai fait pour ceux que ca intéresse:
il suffit d'envoyer le 1er noeud de l'arbre et le nom du noeud qu'on cherche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public DefaultMutableTreeNode recherche(DefaultMutableTreeNode tmp, String nom) { tmp = tmp.getNextNode(); DefaultMutableTreeNode t=null; if(tmp!=null) { if(nom.equals(tmp.toString())) return tmp; t = recherche(tmp, nom); } return t; }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager