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

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) ;
		}
	}
}
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
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);
 
	}
 
}
Merci pour votre temps et vos réponse à venir