IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Problème d'ABSTRACT débutant


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Demandeur d'emploi
    Inscrit en
    Octobre 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Demandeur d'emploi

    Informations forums :
    Inscription : Octobre 2018
    Messages : 25
    Points : 24
    Points
    24
    Par défaut 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 : 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

  2. #2
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    C'est tout bêtement une faute de frappe (il manque un r).

    Essaie avec ça (pour toutes les classes concernées) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	
    @Override
    public void actionPerformed(ActionEvent arg0)
    L'annotation @Override indique que c'est bien une implémentation de cette méthode.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Demandeur d'emploi
    Inscrit en
    Octobre 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Demandeur d'emploi

    Informations forums :
    Inscription : Octobre 2018
    Messages : 25
    Points : 24
    Points
    24
    Par défaut Merci beaucoup Cincinnatus
    Bonjour Cincinnatus,

    tout est dans le titre, mais je le répète , Merci Beaucoup.

    Je pensais que @Override était une info sur la surcharge du méthode ?

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    Citation Envoyé par OLD_BEAR_ZEN Voir le message
    Je pensais que @Override était une info sur la surcharge du méthode ?
    Eh ben, non.

    Surcharge en anglais ça se dit overload. Et ce n'est pas une propriété intéressante des méthodes, il n'y a rien de particulier prévu concernant la surcharge.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Composant Edit, problème de syntaxe [débutant]
    Par hepha1970 dans le forum Débuter
    Réponses: 2
    Dernier message: 22/08/2007, 16h36
  2. Problème de classe (débutant)
    Par Tober dans le forum Débuter
    Réponses: 13
    Dernier message: 01/08/2007, 12h34
  3. problème d'un débutant sur un formulaire
    Par cuicuicui dans le forum Langage
    Réponses: 4
    Dernier message: 17/04/2007, 15h55
  4. Petit problème en C++ (débutant)
    Par Ryan_ dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 01/11/2006, 21h26
  5. Problème de collections [débutant]
    Par jackin dans le forum Langage
    Réponses: 5
    Dernier message: 10/07/2006, 14h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo