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]Un seul clic sur un noeud => 2 événements


Sujet :

Composants Java

  1. #1
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut [JTree]Un seul clic sur un noeud => 2 événements
    Salut, j'ai un problème sur un JTree que je n'arrive pas à résoudre.
    J'ai une classe FullTextTree qui contient un JTree et qui implémente TreeSelectionListener. Voici le code simplifié de valueChanged() de FullTextTree :

    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
     
       public void valueChanged(TreeSelectionEvent e) {
            this.currentNode = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
     
            if(this.currentNode == null)    {
                return;
            }
            // Récupération de l'objet du noeud
            Object nodeObject =  this.currentNode.getUserObject();
     
            // Si l'objet contenu dans le noeud cliqué est un NodeElement
            if(nodeObject.getClass().equals(NodeElement.class))   {
    System.out.println("Noeud cliqué: " + nodeObject
                        + "((NodeElement)nodeObject).fullTextOffset: " + ((NodeElement)nodeObject).fullTextOffset
                        ); // debug
    System.out.println("fullTextTree:valueChanged: nb listeners: " + this.tree.getTreeSelectionListeners().length); // debug    
     
        }
    Le problème est que si je charge un FullTextTree préalablement sérialisé, quand je clique sur un noeud, l'action est exécutée 2 fois. Si ce n'est pas un objet sérialisé cela fonctionne très bien. Il n'y a pourtant qu'un seul listener sur le JTree : System.out.println("fullTextTree:valueChanged: nb listeners: " + this.tree.getTreeSelectionListeners().length); // debug m'affiche bien "1".
    Quelqu'un aurait-il un début de solution ?
    Merci d'avance et a+ ^^

  2. #2
    Membre averti Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Points : 375
    Points
    375
    Par défaut
    salut ,

    désolé je n'ai pas de réponse mais je marque ce sujet comme interessant car j'ai déjà eu le même comportement et je ne sais d'ou cela vient
    donc je suis curieux de voir s'il y a une réponse

    @+

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 116
    Points : 71
    Points
    71
    Par défaut
    Moi aussi j'ai rencontré ce problème...

    Ca arrive aussi avec les JComboBox, etc...
    C'est d'ailleurs inscrit dans la javadoc si je me souviens bien.. "generate one or two ActionEvent..etc"

    La solution est simple : quand tu vois que 2 actions sont générées, un petit boolean pour filtrer et ne considérer qu'une action sur deux...
    Pour l'instant j'ai pas trouver mieux lol

  4. #4
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Merci pour l'info .
    Bye

Discussions similaires

  1. [XL-2010] Clic sur bouton puis attente d'évènement
    Par johon03 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/07/2014, 13h03
  2. Ouvrir une seule JFrame avec un seul clic sur bouton
    Par chemsoun dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 01/02/2014, 17h50
  3. Imprimer succesivement plusieurs états sur un seul clic
    Par Dimou Leonnel dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/09/2011, 15h07

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