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 :

.addActionListener(.........)


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    451
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 451
    Par défaut .addActionListener(.........)
    bonjour, à tous.
    A des fins scolaire, je dois coder un mastermind.
    Je commence l'interface et je rencontre un probleme:
    j'ai une classe pour ma fenetre principale (JFrame) qui contient un ensemble de boutons.
    A chacun de ces boutons j'ai un addActionListener(this) qui me lance mon actionPerformed() qui a comme code de créer une nouvelle jframme juste a coté avec des boutons de couleur.
    Jusque la tt va bien mais le probleme vient du fait que les boutons dans la frame des couleur ont le meme actionListener.
    et donc quand je vais cliquer sur un bouton de couleur il va lancer actionPerformed() des boutons de la frame principale et c pas cool !
    J'aimerais lorsque je crée mes boutons de couleur et que je code
    MonBoutonCouleur.addActionListener(this) qu'a la place de mettre this en parametre que je puisse mettre du code
    ex : MonBoutonDeMaGrillePrincipale.setcouleur( MonBoutonCouleur.couleur ) // en francais
    addActionListener(void(...)) un truc comme ca! est-ce possible?
    merci pour vos reponses et a +

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Un truc dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MonBoutonCouleur.addActionListener(new ActionListener() {
              public void actionPerformed() {
                        //  ton code
              }
    });
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    451
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 451
    Par défaut
    merci pour cette reponse si rapide. Je vais essayer tt ca !
    encore merci

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 117
    Par défaut
    Tu devrais peut etre créer des Classe qui étendent le listener désiré afin de le spécialiser dans tel ou tel traitement.

    Exemple, j'ai un bouton quitter, alors je crée une classe 'BehaviorQuitter extends MonListener'. J'ai un bouton nouvelle partie, je crée un classe 'BehaviorNewGame extends monListener', etc...

    Tu fais le nécéssaire pour que ton bouton quitter soit écouté par le BehaviorQuitter, et que le bouton nouvelle partie soit écouté par BehaviorNewGame, etc...

    Sinon ya une méthode bien crados, il suffit de reconnaitre la source de l'évenement qui est en paramètre du actionPerformed( ActionEvent e ).

    Cet evenement te permet de récuperer la source avec un e.getSource() qui te renvois un Object que tu dois tester... mais plus tu as découteurs, plus c'est galère!

    Donc pour être plus propre, crée des comportements pour chaque boutons.

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 117
    Par défaut
    D'ailleurs je viens de me rendre compte que ton post n'a rien à faire ici...

    /// EDit: arf devancé par un modo...

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    451
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 451
    Par défaut
    ok dsl pour l'erreur d'emplacement de post mais je suis un peu perdu du fait du changement de look du forum !

    ok je crois que je vais creer une classe pour chacun de mes types d'actions de boutons ca sera + commode.

    merci a+

  7. #7
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    451
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 451
    Par défaut
    Citation Envoyé par ypicman
    Tu devrais peut etre créer des Classe qui étendent le listener désiré afin de le spécialiser dans tel ou tel traitement.

    Exemple, j'ai un bouton quitter, alors je crée une classe 'BehaviorQuitter extends MonListener'. J'ai un bouton nouvelle partie, je crée un classe 'BehaviorNewGame extends monListener', etc...

    Tu fais le nécéssaire pour que ton bouton quitter soit écouté par le BehaviorQuitter, et que le bouton nouvelle partie soit écouté par BehaviorNewGame, etc...

    Sinon ya une méthode bien crados, il suffit de reconnaitre la source de l'évenement qui est en paramètre du actionPerformed( ActionEvent e ).

    Cet evenement te permet de récuperer la source avec un e.getSource() qui te renvois un Object que tu dois tester... mais plus tu as découteurs, plus c'est galère!

    Donc pour être plus propre, crée des comportements pour chaque boutons.
    pourrais tu me donner un exemple avec une classe principale contenant 2 boutons avec 2 differents actionlistener de 2 classes stp car la je seche un peu

    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
    public class test extends JFrame implements/extends ???
    {
     ...
     JButton Bouton1 = new JButton();
     JButton Bouton2 = new JButton();
     Bouton1.addActionListener(???);?
     Bouton2.addActionListener(???);?
     
    }
    public class Action_Bouton1 extends ????
    {
     public void actionPerformed(ActionEvent evt)
     {
      ...
     }
    }
    public class Action_Bouton2 extends ????
    {
     public void actionPerformed(ActionEvent evt)
     {
      ...
     }
    }
    merci a+

  8. #8
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    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
    public class test extends JFrame
    {
     ...
     JButton Bouton1 = new JButton();
     JButton Bouton2 = new JButton();
     Bouton1.addActionListener(new Action_Bouton1());
     Bouton2.addActionListener(new Action_Bouton2());
     
    }
    public class Action_Bouton1 implements ActionListener
    {
     public void actionPerformed(ActionEvent evt)
     {
      ...
     }
    }
    public class Action_Bouton2 implements ActionListener
    {
     public void actionPerformed(ActionEvent evt)
     {
      ...
     }
    }
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  9. #9
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    451
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 451
    Par défaut
    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
     
    public class test extends JFrame
    {
     ...
     JButton Bouton1 = new JButton();
     JButton Bouton2 = new JButton();
     Bouton1.addActionListener(new Action_Bouton1());
     Bouton2.addActionListener(new Action_Bouton2());
     
    }
    public class Action_Bouton1 implements ActionListener
    {
     public void actionPerformed(ActionEvent evt)
     {
      ...
     }
    }
    public class Action_Bouton2 implements ActionListener
    {
     public void actionPerformed(ActionEvent evt)
     {
      ...
     }
    }
    le probleme c'est que eclipse me renvoit l'erreur :

    "the public type Action_Bouton must be defined in its own file"

    à la ligne "public class Action_Bouton..."

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

Discussions similaires

  1. addActionListener et JButton
    Par yasmine* dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 29/12/2012, 19h13
  2. NetBeans problème pour addActionListener()
    Par L0007 dans le forum NetBeans
    Réponses: 7
    Dernier message: 22/02/2009, 04h45
  3. [AddActionListener] Création classe Menu
    Par skyangel dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 19/02/2008, 13h43
  4. [débutant] la méthode addActionListener
    Par Mag007 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 17/03/2007, 22h05
  5. problème avec addActionListener
    Par vincs72 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 20/05/2006, 15h16

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