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 :

Création de listener différent dans une boucle.


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Par défaut Création de listener différent dans une boucle.
    Tout d'abord bonjour, ceci est mon premier message (enfin sous ce compte, ayant perdu l'ancien).
    Voila, je souhaite attribuer à tout mes boutons un listner qui renvois certains de leur paramêtres.
    Pour cela, j'ai creer une class "carre" ayant comme parametre un boutons et ces paramêtres. Au moment de la construction du bouton, je lui attribue l'action ce cette manière :

    public carre(int consX, int consY, Button consB)
    {
    this.x=consX;
    this.y=consY;
    this.b=consB;
    b.addActionListener(new AAffiche(this));

    }
    Je créé ensuite dans le programme principale une boucle pour fabriquer tout mes carré et mettre les boutons dans une fenêtre.
    Quand je clique sur un bouton c'est censé me renvoyé x et y, j'ai fait pour cela l'action suivante :

    public class AAffiche implements ActionListener
    {
    carre b;

    public AAffiche (carre consB)
    {
    b=consB;
    }

    public void actionPerformed (ActionEvent e)
    {
    System.out.println ( "("+ b.getX() +", " + b.getY()+")");
    }

    Le problème est que, au final tout mes boutons renvois la même chose, les valeur de x et y du derniers bouton créée.
    Et bah ca ne va pas. Je suppose que ce qu'il se passe est qu'il n'y a qu'une action de créée, mais je ne sais pas comment faire pour que chaque bouton vise une action différente.

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Passer par la classe (l'étendre)AbstractAction et la méthode setAction de ton JButton

    Donc tu définis plusieurs actions différentes et les affectes en fontion du bouton

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Par défaut
    Merci bien pour la réponse.
    Donc si j'ai bien compris,j'ai fais étendre ma class AAffiche de AbstractAction au lieu d'implementer "ActionListener", et dans la création de mon bouton, je fais b.setAction(new AAffiche(this)).

    Mais je vois pas comment définire plusieurs action différente ?


    édition :
    J'ai pu déterminer le souci, ca marche comme ca, merci beaucoup ^^

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

Discussions similaires

  1. Probleme Listener sur JSpinner ou dans class
    Par croc14 dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 28/03/2007, 09h37
  2. Réponses: 5
    Dernier message: 27/01/2007, 21h19
  3. Réponses: 2
    Dernier message: 26/10/2006, 10h13
  4. Réponses: 2
    Dernier message: 30/05/2006, 14h58
  5. Quel listener pour l'édition d'une JTable?
    Par ®om dans le forum Composants
    Réponses: 4
    Dernier message: 11/05/2005, 21h13

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