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

AWT/Swing Java Discussion :

Recupérer l'index d'un noeud à partir de son nom


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Recupérer l'index d'un noeud à partir de son nom
    Bonjour à tous,

    Voilà, j'ai un Jtree et j'arrive a renommer un noeud en clique droit, je sais aussi récupérer le nom du noeud cliqué, mais je n'arrive pas à obtenir son index.

    J'aimerai ainsi savoir si vous aviez une technique pour récupérer l'index d'un noeud à partir de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    arbre.getLastSelectedPathComponent().toString()
    Avec arbre un JTree.


    Je vous remercie
    Simon.

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut,

    Un grand merci pour ta réponse

    J'aurais une autre question,

    En fait une fois que j'ai renommé mon nom, visuellement je vois le nouveau nom, mais comment le récupérer dans le programme lui même ?
    Sachant que j'ai son path, et son index

    Encore merci


  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    J'imagine que tu as un objet de type TreePath.

    De fait cet objet possède tout ce que tu veux:

    La méthode getLastPathComponent() te renverra l'objet du modèle correspondant à ton path, et vu que tu as probablement utilisé un DefaultMutableTreeNode, il te suffira de faire appel à la méthode getUserObject sur ce node pour obtenir ta String.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    J’avoue avoir laissé un peu de coté ce projet ce qui explique une réponse si tardive

    Je pense que la lecture de ceci vous permettra de comprendre comment j'ai codé .

    En bref :

    Quand je fais un clique droit, j'affiche un JpopupMenu, je recherche le nœud le plus proche du clic, et je le sélectionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    arbre.setSelectionPath(arbre.getClosestPathForLocation(e.getX(), e.getY()));
    Si ensuite on a un clique sur l'item renommer alors, le dernier nœud sélectionné deviens éditable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    arbre.startEditingAtPath(arbre.getSelectionPath());
    Je peux donc éditer mon nœud sans soucis, et graphiquement on vois le nouveau nom du nœud.

    Tu me dis donc :

    J'imagine que tu as un objet de type TreePath.
    Mmh nop à quel moment penses tu que j'utilise un TreePath ?
    Je n'utilise que des DefaultMutableTreeNode et un Jtree... mais peut être que je comprends de travers

    De plus je n'ai pas compris ce que tu me proposez par la suite :

    La méthode getLastPathComponent() te renverra l'objet du modèle correspondant à ton path, et vu que tu as probablement utilisé un DefaultMutableTreeNode, il te suffira de faire appel à la méthode getUserObject sur ce node pour obtenir ta String.
    En fait je ne sais pas comment faire pour sois :
    • Récupérer ce que je tape après le startEditingAtPath cad dans la zone de texte du nœud éditable.
    • Récupérer le nouveau "nom" via la méthode toString de la classe DefaultMutableTreeNode du nœud une fois que j'ai finis de le modifié en sachant qu'il faudrait donc que le Jtree mette à jour le nom du nœud et ça je sais pas si il le fait :/



    Edit :

    J'ai fais ceci :

    System.out.println("Renommer_1");
    arbre.startEditingAtPath(arbre.getSelectionPath());
    System.out.println("Renommer_2");
    Et j'ai vus que lorsque je clique sur renommer le programme affiche Renommer_1 et ensuite Renommer_2 tout de suite après avant que j'ai finis d'éditer ... Ce doit être normal, mais je pensais que le programme "patienté" jusqu'à la fin de l'édition avant de lire le code qui suit ..
    Du coup la récupération du nouveau nom du nœud édité devra être à un endroit spécifique pour être sur que l'édition est finie .. non ?


    J’espère avoir été clair
    Je vous remercie d'avance,
    Simon.
    Dernière modification par Invité ; 12/09/2012 à 21h59.

Discussions similaires

  1. [XSLT] obtenir la valeur d'un noeud à partir de son nom
    Par gambic dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 20/10/2009, 11h10
  2. Recupérer l'index d'un enum et non son nom ?
    Par canard75 dans le forum Requêtes
    Réponses: 4
    Dernier message: 10/12/2005, 23h39
  3. connaitre les propriétés d'un champ à partir de son nom
    Par toome dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 24/10/2005, 11h16
  4. 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
  5. Réponses: 3
    Dernier message: 24/09/2004, 21h21

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