Problème d'ABSTRACT débutant
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:
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:
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
Merci beaucoup Cincinnatus
Bonjour Cincinnatus,
tout est dans le titre, mais je le répète , Merci Beaucoup.:merci:
Je pensais que @Override était une info sur la surcharge du méthode ?