1 pièce(s) jointe(s)
Message suivant état de cases à cocher
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 : Pièce jointe 138722
Mes 4 classes :
Code:
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:
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:
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:
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 !