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 :

Comment récupérer la ligne selectionné dans un JTree ?


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut Comment récupérer la ligne selectionné dans un JTree ?
    Voila j'avais un tableau JTable pour afficher mes résultats mais j'ais finalement décidé d'en faire un JTree... c'est plus joli... lol J'arrivais à récupérer les résultat dans mon tableau mais maintenant que c'est un JTree. Je ne sais plus comment faire. Voici le code dont je me servais pour le récupérer dans le tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public void valueChanged(ListSelectionEvent e)
        {
     
            int row= _result.getSelectedRow();
            if (row < 0)
            {
                return;
            }            
            String table=(String)_result.getValueAt(row,0);
            _controler.searchDetail(table);
     
        }
    Je suis sur que le code pour récupérer les données dans le JTree n'est pas guère différent mais je ne trouve pas alors si quelqu'un peut m'aider, son aide sera la bienvenue. Merci et bonne journée

  2. #2
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    Merci la Javadoc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tree.getLastSelectedPathComponent()
    te renvoie le dernier objet sélectionné, null si rien n'est sélectionné.

  3. #3
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut re
    j'ais éssayé avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        public void valueChanged(TreeSelectionEvent event)
        {
            // Récupère le chemin dans l'arbre.
            TreePath myPath = _result.getSelectionPath();
            if(myPath == null) return;
            // Récupère l'objet utilisateur correspondant.
            DefaultMutableTreeNode myNode = (DefaultMutableTreeNode) myPath.getLastPathComponent();
            Page myPage = (Page) myNode.getUserObject();
            myEditorPane().setPage(myPage.getUrl());
    mais j'ais des erreur au niveau de Page et myEditorPane() :

  4. #4
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    Citation Envoyé par Spinoza23
    j'ais des erreur au niveau de Page et myEditorPane()
    C'est quoi les erreurs ? Elles font quoi cette classe et cette fonction ?

  5. #5
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut re
    Je me suis finalement débrouillé... lol voici ce que mon code donne :

    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
    public void valueChanged(TreeSelectionEvent e)
        {
            TreePath myPath = _result.getSelectionPath();
     
            if(myPath == null) return;
            // Récupère l'objet utilisateur correspondant.
            DefaultMutableTreeNode myNode = (DefaultMutableTreeNode) myPath.getLastPathComponent();
            if (myNode instanceof WizardTreeNode)
            {
               String table = ((WizardTreeNode) myNode).getTable();
               if (table != null)
               {
                   _controler.searchDetail(table);
               }           
            }        
        }
    Je met dans un TreePath le noeud selectionné, et je récupère le dernier élement de mon path. WizardTreeNode est une sous classe de DefaultMutableTreeNode dans laquelle j'ais crée getTable(). qui me récupère le nom de ma table puis je le renvoi.

    Voil merci a tous et bonne journée

  6. #6
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    oups, j'ais oublié de vous ajouter la classe WizardTreeNode.... lol

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    package com.qualiac.sqlbuilder.wizard.table;
     
    import javax.swing.tree.DefaultMutableTreeNode;
     
    /**
    * @author mes
    *
    * To change the template for this generated type comment go to
    * Window>Preferences>Java>Code Generation>Code and Comments
    */
    public class WizardTreeNode extends DefaultMutableTreeNode
    {
        private String m_table;
     
        public WizardTreeNode ()
        {
            super();
     
            setUserObject(null);
            m_table = null;
        }
     
        public WizardTreeNode (String table, String lib)
        {
            this ();
    if (table != null && table.equals (lib))
    {        
        System.out.println (table);
    }
            setUserObject(lib);
            m_table = table;        
        }    
     
        public String getTable()
        {
            return m_table;
        }
     
        public void setTable (String table)
        {
            m_table = table;
        }    
    }package com.qualiac.sqlbuilder.wizard.table;
     
    import javax.swing.tree.DefaultMutableTreeNode;
     
    /**
    * @author mes
    *
    * To change the template for this generated type comment go to
    * Window>Preferences>Java>Code Generation>Code and Comments
    */
    public class WizardTreeNode extends DefaultMutableTreeNode
    {
        private String m_table;
     
        public WizardTreeNode ()
        {
            super();
     
            setUserObject(null);
            m_table = null;
        }
     
        public WizardTreeNode (String table, String lib)
        {
            this ();
    if (table != null && table.equals (lib))
    {        
        System.out.println (table);
    }
            setUserObject(lib);
            m_table = table;        
        }    
     
        public String getTable()
        {
            return m_table;
        }
     
        public void setTable (String table)
        {
            m_table = table;
        }    
    }

  7. #7
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    J'avais besoin de récupérer en fait le nom de la table et non pas son intitulé, meme si il fallait que je l'affiche. Alors j'ais créé cette classe. Voila a plus

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 07/01/2008, 17h50
  2. Réponses: 8
    Dernier message: 07/12/2007, 20h48
  3. Réponses: 5
    Dernier message: 20/07/2007, 15h15
  4. Réponses: 2
    Dernier message: 14/01/2007, 23h17
  5. Réponses: 4
    Dernier message: 01/10/2006, 15h37

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