IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

[JTree] récupérer un DefaultMutableTreeNode à partir de son nom


Sujet :

Composants Java

  1. #1
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut [JTree] récupérer un DefaultMutableTreeNode à partir de son nom
    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

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 137
    Points : 143
    Points
    143
    Par défaut
    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 ;
      }

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 137
    Points : 143
    Points
    143
    Par défaut
    1) Récupérer le noeud root, puis appliquer la fonction suivante sur ce noeud root :

    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 ;
    }
    2) Définis ensuite ta fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boolean taFonctionRecherche( DefaultMutableTreeNode node, String text )

  4. #4
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut
    merci !!!

    voila la fonction que j'ai fait pour ceux que ca intéresse:

    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;
    	}
    il suffit d'envoyer le 1er noeud de l'arbre et le nom du noeud qu'on cherche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/11/2009, 08h42
  2. Récupérer un widget à partir de son nom
    Par kenshi240683 dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 27/05/2008, 14h18
  3. Réponses: 9
    Dernier message: 26/09/2007, 16h18
  4. Récupérer le numéro du mois à partir de son nom
    Par ceuce dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 13/09/2007, 16h44
  5. Récupérer une variable à partir de son nom ...
    Par CynO dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/10/2005, 16h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo