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] oter un listener sur un jTree


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [JTree] oter un listener sur un jTree
    Bonjour,
    si j'ajoute un TreeSelectionListener sur un jTree par ce biais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    jTree.addTreeSelectionListener(new TreeSelectionListener() { 
    				public void valueChanged(TreeSelectionEvent event) {				
    					TreePath path = jTree.getSelectionPath();
    					if (path == null) return;
    					DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) path.getLastPathComponent();
    					if(selectedNode.isLeaf()){
    						String texte = selectedNode.toString();
    						ihm02.affiche(texte);
    					}
    				}
    			});
    Est il possible de l'enlever en utilisant : jTree.removeTreeSelectionListener...
    je ne trouve pas la syntaxe
    Merci

  2. #2
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 63
    Par défaut
    tu peux appeler removeTreeSelectionListener il faut juste garder un reference sur l'objet de la classe anonyme que tu crees

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TreeSelectionListener tsl = new TreeSelectionListener() { ...
    jTree.addTreeSelectionListener(tsl);
    plus tard tu peux faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jTree.removeTreeSelectionListener(tsl);

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

    Oui mais, j'ai une erreur de compil quand j'utiise ce code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TreeSelectionListener tsl = new TreeSelectionListener()

    Cannot instantiate the type TreeSelectionListener, since it is not a concrete class

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Par défaut
    C'est pas une classe a instancier, c'est une classe a implémenter...

    Dans la classe ou tu as besoin du listener, faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public class Maclasse implements TreeSelectionListener
    Puis redefinir les méthodes nécessaires:
    valueChanged pour ce listener la!
    Voila..

  5. #5
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    ce que voulais dire ots2 en te donnant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TreeSelectionListener tsl = new TreeSelectionListener() { ... 
    jTree.addTreeSelectionListener(tsl);
    est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    TreeSelectionListener tsl = new TreeSelectionListener() { 
                public void valueChanged(TreeSelectionEvent event) {             
                   TreePath path = jTree.getSelectionPath(); 
                   if (path == null) return; 
                   DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) path.getLastPathComponent(); 
                   if(selectedNode.isLeaf()){ 
                      String texte = selectedNode.toString(); 
                      ihm02.affiche(texte); 
                   } 
                } 
             });
    jTree.addTreeSelectionListener(tsl);
    c'était cela les ...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Ok ca marche !

    Merci à tous pour ces petits bouts de code, et ce partage de savoir bien utile !

    Olivier

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

Discussions similaires

  1. [JTree]Un seul clic sur un noeud => 2 événements
    Par Djakisback dans le forum Composants
    Réponses: 3
    Dernier message: 21/05/2006, 14h31
  2. [jtree] bas 2 petites question sur le jTree
    Par yupa dans le forum Composants
    Réponses: 2
    Dernier message: 20/01/2006, 17h51
  3. [Swing]Problème d'affichage sur un JTree
    Par tomca dans le forum Composants
    Réponses: 4
    Dernier message: 19/01/2006, 10h41
  4. écoute sur une JTree
    Par gianni17 dans le forum Composants
    Réponses: 1
    Dernier message: 27/11/2005, 21h14
  5. Drag and drop sur un JTree
    Par tomca dans le forum Composants
    Réponses: 4
    Dernier message: 02/08/2005, 10h54

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