Bonjour,

Je suis en train de suivre des exemples d'un bouquin dont je vous transmet ici les pages où je suis.

Donc, suivant cet exemple, je devrais obtenir des messages sur la console par rapport à l'état de cases à cocher.

J'ai fini d'écrire ce programme dans NetBeans, je n'ai aucune erreur à la compil, et pourtant je ne vois pas de cases à cocher lorsque j'exécute cette appli et je n'ai donc pas de messages non plus.... et je ne comprends pas ce qui déconne vu que j'ai déjà tout relu ligne par ligne ....

le document : My_530780106f233.pdf

Mes 4 classes :
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
 
package principale1;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
 
public class Principale1 {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // Création de la fenêtre
        Ecran fenetre;
        fenetre = new Ecran();
        //Création d'une instance de la classe
        //chargée de gérer les évènements
        EcouteurFenetre ef;
        ef = new EcouteurFenetre();
        //Référencement de cette instance de classe
        //comme écouteur d'évènement pour la fenêtre
        fenetre.addWindowListener(ef);
        //Affichage de la fenêtre
        fenetre.setVisible(true);        
    }
}
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
 
package principale1;
 
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
 
 
public class Ecran extends JFrame
{
    JPanel pano;
    JButton btnRouge, btnVert, btnBleu;
    JMenuItem mnuRouge, mnuVert, mnuBleu;
    ConsoleLog lg;
 
    public Ecran(){
        setTitle("première fenêtre en Java");
        setBounds(0,0,300,100);
        setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        //Création des 3 boutons
        btnRouge = new JButton("Rouge");
        btnRouge.setActionCommand("red");
        btnVert = new JButton("Vert");
        btnVert.setActionCommand("green");
        btnBleu = new JButton("Bleu");
        btnBleu.setActionCommand("blue");
        //Création des 3 écouteurs
        EcouteurCouleur ec;
        ec = new EcouteurCouleur();
        //Association de l'écouteur à chaque bouton
        btnRouge.addActionListener(ec);
        btnVert.addActionListener(ec);
        btnBleu.addActionListener(ec);
        //Création de la case à cocher
        JCheckBox chkLog;
        chkLog = new JCheckBox("log sur console");
        //Ajout d'un écouteur à la case à cocher
        chkLog.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent arg0)
            {
                JCheckBox chk;
                chk = (JCheckBox)arg0.getSource();
                if (chk.isSelected())
                {
                    //Ajout d'un écouteur supplémentaire
                    //aux boutons et aux menus
                    lg = new ConsoleLog();
                    btnBleu.addActionListener(lg);
                    btnRouge.addActionListener(lg);
                    btnVert.addActionListener(lg);
                    mnuBleu.addActionListener(lg);
                    mnuVert.addActionListener(lg);
                    mnuRouge.addActionListener(lg);    
                }
                else
                {
                    //suppression de l'écouteur supplémentaire
                    //aux boutons et aux menus
                    btnBleu.removeActionListener(lg);
                    btnVert.removeActionListener(lg);
                    btnRouge.removeActionListener(lg);
                    mnuBleu.removeActionListener(lg);
                    mnuVert.removeActionListener(lg);
                    mnuRouge.removeActionListener(lg);
                }
            }
        }        
                );
        //Création du menu
        JMenuBar barreMenu;
        barreMenu = new JMenuBar();
        JMenu mnuCouleurs;
        mnuCouleurs = new JMenu("couleurs");
        barreMenu.add(mnuCouleurs);
        mnuRouge = new JMenuItem("Rouge");
        mnuVert = new JMenuItem("Vert");
        mnuBleu = new JMenuItem("Bleu");
        mnuCouleurs.add(mnuRouge);
        mnuCouleurs.add(mnuVert);
        mnuCouleurs.add(mnuBleu);
        //Association de l'écouteur à chaque menu
        //(les mêmes que pour mles boutons)
        mnuRouge.addActionListener(ec);
        mnuVert.addActionListener(ec);
        mnuBleu.addActionListener(ec);
        //Ajout du menu sur la fenêtre
        setJMenuBar(barreMenu);
        //Création du conteneur intermédiaire
        pano = new JPanel();
        //Ajout des boutons sur le conteneur intermédiaire
        pano.add(btnRouge);
        pano.add(btnVert);
        pano.add(btnBleu);
        //Ajout du conteneur sur le content pane
        getContentPane().add(pano);
        //Création d'une instance d'une classe anonyme
        //chargée de gérer les évènements de la fenêtre
        addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent arg0)
            {
                System.exit(0);
            }
 
        }
        );
    }
public class EcouteurCouleur implements ActionListener{
    public void actionPerformed(ActionEvent arg0){
        if (arg0.getSource()==btnRouge | arg0.getSource()==mnuRouge){
            pano.setBackground(Color.RED);
        }
        if (arg0.getSource()==btnVert | arg0.getSource()==mnuVert){
            pano.setBackground(Color.GREEN);
        }
        if (arg0.getSource()==btnBleu | arg0.getSource()==mnuBleu){
            pano.setBackground(Color.BLUE);
        }
    }
}
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
package principale1;
 
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
 
public class EcouteurFenetre extends WindowAdapter {
    public void windowClosing(WindowEvent arg0)
    {
    System.exit(0);
    }
}
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
 
package principale1;
 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
 
import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JMenuItem;
 
 
public class ConsoleLog implements ActionListener
{
    public void actionPerformed(ActionEvent e)
    {
        String message;
        SimpleDateFormat sdf;
        sdf = new SimpleDateFormat("dd/MM/yyy hh:mm:ss");
        message = sdf.format(new Date());
        message = message +" clic sur le ";
        if (e.getSource()instanceof JButton)
        {
            message = message + "bouton :";
        }
        if (e.getSource()instanceof JMenuItem)
        {
            message = message + "menu :";
        }
        message = message + ((AbstractButton)e.getSource()).getText();
        System.out.println(message);
    }
}
Merci !