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

AWT/Swing Java Discussion :

Problème avec ActionListener


Sujet :

AWT/Swing Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 33
    Points
    33
    Par défaut Problème avec ActionListener
    Bonsoir

    Je suis en train de développer une application Java (avec Eclipse ), cette application contient deux boutons :
    - bouton valider (qui se trouve dans un JFrame) permet d'ouvrir une autre JFrame
    - bouton annuler permet de quitter l'application

    Voilà le code que j'ai écrit :
    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
     
    .....
    panneau_Bouton.add(valide=new JButton("valider  : "));
    	   panneau_Bouton.add(annul=new JButton("Annuler : "));
     
    	          valide.addActionListener(this);
    		  valide.setActionCommand("valider");
     
    		  annul.addActionListener(this);
    		  annul.setActionCommand("annuler");
     
    	}
       //Gestion des evenements
     
     
       public void Actionperformed(ActionEvent e)
       { 
     
     
    		 if (e.getActionCommand() == "valider") {
    		new menu_generale().setVisible(true);
     
    		// menu_generale est une classe qui contient la deuxiéme JFrame
    	   }
    	  else
    	  if (e.getActionCommand() == "annuler"){
    		  System.exit(0);
    	 }
       }
    le problème ce lorsque je clique sur une des deux boutons ne passe rien , y a t'il des solutions pour ça !!?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 281
    Points : 321
    Points
    321
    Par défaut
    Tu as une question ?

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 74
    Points : 85
    Points
    85
    Par défaut
    Et si t'essaie avec des e.getSource() == leNomDeTonBouton il se passe quoi ?

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Le nom de la méthode "actionPerformed" n'est pas correct.
    Tu devrais utiliser "@Override" juste avant le nom de la méthode si tu es en Java >= 1.5, ça éviterait ce genre de problème.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par dinobogan Voir le message
    Le nom de la méthode "actionPerformed" n'est pas correct.
    Tu devrais utiliser "@Override" juste avant le nom de la méthode si tu es en Java >= 1.5, ça éviterait ce genre de problème.
    bon j'ai pas compris ta proposition , si tu peux mieux expliquer !!? et merci

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par sebabarre Voir le message
    Et si t'essaie avec des e.getSource() == leNomDeTonBouton il se passe quoi ?
    il se passe rien , même problème avec le e.getsource()

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 281
    Points : 321
    Points
    321
    Par défaut
    dans ton code, tu as écris actionPerformed sans majuscule d'où l'erreur.

    @Override signale au compilateur de te prévenir si la méthode que tu utilises n'est pas une méthode surchargée, ce qui évite ce genre d'erreur.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par druzy Voir le message
    dans ton code, tu as écris actionPerformed sans majuscule d'où l'erreur.

    @Override signale au compilateur de te prévenir si la méthode que tu utilises n'est pas une méthode surchargée, ce qui évite ce genre d'erreur.
    même problème , ça marche pas !!!! :'(

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 281
    Points : 321
    Points
    321
    Par défaut
    Peux-tu poster le code corrigé et les résultats des erreurs ?

  10. #10
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par druzy Voir le message
    Peux-tu poster le code corrigé et les résultats des erreurs ?
    voilà le code

    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
      .....
                      valide.addActionListener(this);
    		  valide.setActionCommand("valider");
    		  annul.addActionListener(this);
    		  annul.setActionCommand("annuler");
     
     public void actionperformed(ActionEvent e)
       { 
     
    			  try{
     
    	 if (e.getActionCommand() == "valide"){
    		  if (login.getText().equals ("") == true) {
    			   JOptionPane.showMessageDialog (this,"erreur");		
    		   }
     }
    		 else
    		   {
    			   new menu_generale().setVisible(true);
     
    		   }
    			  }
    			  catch (Exception er){
    				  JOptionPane.showMessageDialog(this,er.getMessage());
    			  }
     
     if (e.getActionCommand() == "annuler"){
    	 System.exit(0);
     
     }
     
    	 }
     
     
     
    @Override
    public void actionPerformed(ActionEvent e) {
    	// TODO Auto-generated method stub
     
    }
    l'erreur c'est la non fonctionnement des boutons (valider & annuler ) , c'est à dire le clique sur un des deux boutons ne fait aucune action ..

  11. #11
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Points : 1 381
    Points
    1 381
    Par défaut
    La méthode appelée par ActionListener est actionPerformed (sensible à la casse ! actionPerformed est différent de actionperformed).

    Place le code de ton action dans la fonction actionPerformed

  12. #12
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par muad'dib Voir le message
    La méthode appelée par ActionListener est actionPerformed (sensible à la casse ! actionPerformed est différent de actionperformed).

    Place le code de ton action dans la fonction actionPerformed
    non plus , mais je demande
    est ce que l'erreur peut être dans une des deux JFrame surtout dans la deuxième JFrame (générale ) parce que je ne l'ai pas testé !!!!

    rappelons que mon problème est le suivant :

    j'ai un Jframe (connexion) qui contient deux boutons valider et annulé , le bouton valider permet d'ouvrir un autre Jframe (générale )

  13. #13
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Points : 1 381
    Points
    1 381
    Par défaut
    Avant d'implémenter différentes Frames, mon conseil est d'essayer de faire fonctionner tes boutons déjà dans une seule.

    Si après ça tu n'y arrives pas postes nous ton code épuré au maximum, avec juste la gestion des clics sur les boutons.

  14. #14
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Ce tutoriel (http://baptiste-wicht.developpez.com.../?page=boutons) te donne le code minimal pour implémenter une action à ton bouton. Pars de cet exemple et ensuite tu pourras envisager ton projet.

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 281
    Points : 321
    Points
    321
    Par défaut
    reposte ton code corrigé correctement stp

  16. #16
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    et n'oublie pas le @Override devant la méthode, comme déjà dit. Aussi, on compare des String avec equals, pas avec ==

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 281
    Points : 321
    Points
    321
    Par défaut
    Je pense également que comparer les String avec == ne te fait pas rentrer dans ton if

  18. #18
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 33
    Points
    33
    Par défaut
    bon , voilà mon code modifié (j'ai enlevé la partie qui fait le test sur le zone de texte "login"
    sachant que mon problème est le même

    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
     ......
     panneau_label.add(new JLabel ("Login  : "));
     panneau_saisie.add(login = new JTextField(8));
    panneau_label.add(new JLabel (" Mot de passe  :  "));
    	   panneau_saisie.add(mot_passe=new JTextField(8));
    	   // manipulation des boutons
    	   panneau_Bouton.add(valide=new JButton("valider  : "));
    	   panneau_Bouton.add(annul=new JButton("Annuler : "));
     
    	      valide.addActionListener(this);
    		  valide.setActionCommand("validation");
    		  annul.addActionListener(this);
    		annul.setActionCommand("annuler");
     
     
    	   }
       //Gestion des evenements
     
       public void Actionperformed (ActionEvent e)
       { 
     
     
     
    		  if (e.getActionCommand()=="validation"){
     
    			  new menu_generale().setVisible(true);}
     
    @Override
    public void actionPerformed(ActionEvent e) {
    	// TODO Auto-generated method stub
     
    }
    toujours la même erreur , y a t'il d'autres solutions !!??

    et désolé pour le retard de ma réponse ....

  19. #19
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 086
    Points : 7 997
    Points
    7 997
    Par défaut
    Dans ton dernier code, tu as le code utile dans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void Actionperformed (ActionEvent e)
    qui en fait est censé s'appeler :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void actionPerformed(ActionEvent e)
    qui lui ne contient aucun code... donc forcement rien ne risque de se passer si tu ne supprime pas Actionperformed en y mettant le code dans actionPerformed.

    Donc pour résumer une dernière fois tu dois avoir ceci :

    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
     ......
     panneau_label.add(new JLabel ("Login  : "));
     panneau_saisie.add(login = new JTextField(8));
    panneau_label.add(new JLabel (" Mot de passe  :  "));
    	   panneau_saisie.add(mot_passe=new JTextField(8));
    	   // manipulation des boutons
    	   panneau_Bouton.add(valide=new JButton("valider  : "));
    	   panneau_Bouton.add(annul=new JButton("Annuler : "));
     
    	      valide.addActionListener(this);
    		  valide.setActionCommand("validation");
    		  annul.addActionListener(this);
    		annul.setActionCommand("annuler");
     
     
    	   }
       //Gestion des evenements
     
     
    @Override
    public void actionPerformed(ActionEvent e) {
     
      if (e.getActionCommand()=="validation"){new menu_generale().setVisible(true);}
     
    }

  20. #20
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 33
    Points
    33
    Par défaut
    enfin , ...

    merci beaucoup pour ta réponse , ça marche très bien

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

Discussions similaires

  1. Probléme avec ActionListener
    Par nabiltntn dans le forum JSF
    Réponses: 4
    Dernier message: 04/11/2009, 22h13
  2. Réponses: 0
    Dernier message: 27/10/2008, 15h31
  3. Probléme avec ActionListener
    Par DRACULA1 dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 06/08/2008, 01h41
  4. JSF et problème avec actionListener d'un bouton
    Par bard123 dans le forum JSF
    Réponses: 14
    Dernier message: 29/04/2008, 16h22
  5. Problème avec ActionListener
    Par Raadgever596 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 10/03/2008, 23h36

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