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 :

[CheckBoxTree] probleme de listener ?


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de vpourchet
    Homme Profil pro
    Integrateur Systemes & Virtualisation
    Inscrit en
    Avril 2008
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Integrateur Systemes & Virtualisation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 159
    Par défaut [CheckBoxTree] probleme de listener ?
    bonjour. en cherchant sur le net j ai trouvé un code source qui me permet de creer un JCheckBoxTree. Jusque la tout va bien, l'ennui c'est que je tentes de l'adapter 'a ma sauce' pour qu'il colle a mes besoins.

    dans ce JTREE les noeuds et les feuilles ont des checkboxes, qui peuvent etre cochées ou décochées par l'utilisateur. L'ennui que je rencontre c est que j aimerais effectuer un test lorsqu'une checkbox est cliquées et décider si elle doit etre cochée ou pas.

    Le test j'ai réussi a le faire dans cette méthode de mon TreeSelectionModel :

    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
        public void valueChanged(TreeSelectionEvent e)
        {
            int test = 0;
            TreePath[] pathis = e.getPaths();
            Object o = pathis[0].getLastPathComponent();
     
     
            if(!((DefaultMutableTreeNode)o).isLeaf()){
                int child = ((DefaultMutableTreeNode)o).getChildCount();
                for(int i = 0; i<child;i++){
                    test =  _frame.chkBoxChecked(((DefaultMutableTreeNode)o).getChildAt(i));
                    if(test != 1){
                        System.out.println("child already selected");
                        return;
                    }
                }
            }
     
     
     
            if(((DefaultMutableTreeNode)o).isLeaf()){
                System.out.println("o is leaf");
                test =  _frame.chkBoxChecked(o);
                if(test != 1){
                    System.out.println("o already selected");
                    return;
                }
            }
     
            System.out.println("valueChanged");
            System.out.println("o:"+o.toString());
            System.out.println("test:"+test);
                    if (e != null && e.getSource() == this.dtsm && test ==1)
                    {
                        TreeSelectionEvent event = (TreeSelectionEvent) e.cloneWithSource(this);
                        Object[] listeners = listenerList.getListenerList();
                        for (int i = listeners.length - 2; i >= 0; i -= 2)
                        {
                            if (listeners[i] == TreeSelectionListener.class)
                            {
                                ((TreeSelectionListener) listeners[i + 1]).valueChanged(event);
                            }
                        }
    //                    if (this.mode == CheckBoxTreeSelectionModel.BUNCH_MODE)
    //                    {
    //                        TreePath os[] = event.getPaths();
    //                        Vector v = new Vector();
    //                        for (int i = 0; i < os.length; i++)
    //                        {
    //                            if (os[i].getParentPath() != null)
    //                            {
    //                                v.add(os[i].getParentPath());
    //                            }
    //                        }
    //                        if (v.size() > 0)
    //                        {
    //                            boolean[] bb = new boolean[v.size()];
    //                            Object[] paths = v.toArray();
    //                            TreePath[] tps = new TreePath[v.size()];
    //                            for (int i = 0; i < v.size(); i++)
    //                            {
    //                                bb[i] = true;
    //                                tps[i] = (TreePath)paths[i];
    //                                System.out.println("test 1:"+paths[i].toString());
    //
    //                            }
    //                            System.out.println(v.toArray());
    //                            this.valueChanged(new TreeSelectionEvent(this.dtsm, tps, bb,
    //                                    e.getOldLeadSelectionPath(), e.getNewLeadSelectionPath()));
    //                        }
    //                    }
    //       
            }
        }
    j ai mis en commentaire le reste du code, et pourtant mes checkboxes continuent detre cochées ou décochées malgré que j'aies tout mis en commentaire, avez vous une idée ?

  2. #2
    Membre Expert
    Avatar de vpourchet
    Homme Profil pro
    Integrateur Systemes & Virtualisation
    Inscrit en
    Avril 2008
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Integrateur Systemes & Virtualisation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 159
    Par défaut
    pour faire plus simple, est ce que quelqu'un pourrais m'indiquer comment creer un ListenerPerso qui implémenterait le TreeModelListener Java afin de faire mes vérifications avant de cocher ou décocher les checkbox ?



    merci

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut
    tu dois faire le débogage pour bien comprendre se qui se passe.

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

Discussions similaires

  1. [Tomcat 6] Probleme de Listener - Error listenerStart
    Par nicohand94 dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 09/06/2009, 17h20
  2. probleme Action Listener
    Par swiixz dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 27/02/2009, 11h59
  3. Probleme de Listener au démarrage
    Par tomy29 dans le forum JSF
    Réponses: 10
    Dernier message: 11/08/2008, 12h24
  4. Probleme Thread, Listener, Random Java
    Par monicaCruZ dans le forum Concurrence et multi-thread
    Réponses: 5
    Dernier message: 25/05/2007, 15h56
  5. probleme de listener d'un bouton
    Par leomat1988 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 12/05/2007, 20h20

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