Bonjour à toutes et à tous,
je viens de coder un petit bout dont l'objectif est assez simple.
Objectif: ouvrir une fenêtre avec trois boutons et un menu avec trois Items, dont l'action attendu est de changer la couleur de la fenêtre .
Ceci avec la même méthode pour un bouton et un item ayant la même couleur.
Je suis pour cela un livre de formation sur JAVA 8 et je code sous Eclipse ( je pense que le code peut être optimisé, mais je suis la progression du livre)
Mais cela ne marche pas , j'ai une erreur signalée sur mes trois class Ecouteur implements Action Listener:
The type Ecran.EcouteurRouge must implement the inherited abstract method ActionListener.actionPerformed(ActionEvent)
J'ai essayé la résolution automatique d'éclipse, mais cela génère de nouvelles erreurs plus haut dans mon code
Voici mon code :Class Ecran
Voici mon code :Class Principale
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 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.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; public class Ecran extends JFrame { private static final long serialVersionUID = 1L; //Création du container intermediaire JPanel pano ; public Ecran() { //Création du titre de la fenetre setTitle("Ma premiere fenetre JAVA"); //Modification de la position et de la taille de la fenetre //Position setLocationRelativeTo(null); //Taille setSize(400,400); //Gestion fermeture application avec une gestion des evenements setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); // Creation de trois boutons JButton btnRouge, btnVert, btnBleu ; btnRouge = new JButton("Rouge"); btnVert= new JButton("Vert") ; btnBleu= new JButton("Bleu") ; // Creation de trois ecouteurs EcouteurRouge ecR = new EcouteurRouge(); EcouteurVert ecV = new EcouteurVert(); EcouteurBleu ecB = new EcouteurBleu(); // Association des ecouteurs aux boutons btnRouge.addActionListener(ecR); btnVert.addActionListener(ecV); btnBleu.addActionListener(ecB); // Creation du menu JMenuBar barreMenu = new JMenuBar(); JMenu mnuCouleurs = new JMenu("Couleurs"); barreMenu.add(mnuCouleurs); JMenuItem mnuRouge, mnuVert, mnuBleu; mnuRouge = new JMenuItem("Rouge"); mnuVert = new JMenuItem("Vert"); mnuBleu = new JMenuItem("Bleu"); mnuCouleurs.add(mnuRouge); mnuCouleurs.add(mnuVert); mnuCouleurs.add(mnuBleu); // Association des ecouteurs a chaque menu/item mnuRouge.addActionListener(ecR); mnuVert.addActionListener(ecV); mnuBleu.addActionListener(ecB); // Ajout du menu à la fenetre setJMenuBar(barreMenu); // Container intermaidiaires pano = new JPanel() ; // Ajout des boutons dans le container intermediaire sur le ContentPane pano.add(btnRouge); pano.add(btnVert); pano.add(btnBleu); // Ajout du container intermediaire dans le ContentPane getContentPane().add(pano); //Ajout class anonyme chargee des evenements de la fenetre addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent arg0) { System.exit(0); } } ); } public class EcouteurRouge implements ActionListener { public void actionPerfomed(ActionEvent arg0) { pano.setBackground(Color.RED) ; } } public class EcouteurVert implements ActionListener { public void actionPerfomed(ActionEvent arg0) { pano.setBackground(Color.GREEN) ; } } public class EcouteurBleu implements ActionListener { public void actionPerfomed(ActionEvent arg0) { pano.setBackground(Color.BLUE) ; } } }
Merci pour votre temps et vos réponse à venir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class Principale { public static void main(String[] args) { //Création de l'instance de la class JFrame Ecran fenetre = new Ecran(); //Affichage de la fenetre fenetre.setVisible(true); } }
Partager