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 :

gridlayout avec des boutons


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut gridlayout avec des boutons
    bonjour tous le monde

    jai crée un gridlayout dans mon panel et je lui est associé des images. Dans mon ecouteur je recupére le bouton selectionné or je n'arrive à savoir le qu'elle? je voudrais un numero de colonne? Comment je peux faire?
    merci de votre aide

    code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    this.panel=new JPanel(new GridLayout(7,1));
    this.boutonfleche=new JButton(new ImageIcon("action.gif"));
    this.panel.add(this.boutonfleche);
    this.boutonfleche.addActionListener(al);

  2. #2
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    salut,
    elle est pas claire ta question.
    si tu affecte un seul écouteur à tous tes boutons, tu peux mettre pour chacun de tes bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bouton.setActionCommand("id_bouton");
    et dans ton écouteur, tu teste pour chaque bouton la valeut de son action command
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bouton.getActionCommand()
    sinon, donne plus d'explications sur ton problème

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    J'ai un ecouteur pour tous les boutons.
    Je sais pas trop comment mis prendre pour récuperé le nom de celui selectionné

  4. #4
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    this.panel=new JPanel(new GridLayout(7,1));
    for(int i=0;i<=7;i++){
    this.boutonfleche=new JButton(new ImageIcon ("action"+i+".gif"));
    this.boutonfleche.setActionCommand("action"+i+".gif");
    }
    this.panel.add(this.boutonfleche);
    this.boutonfleche.addActionListener(al);

    le probléme les boutonfleches s'apellent tous action7.gif

  5. #5
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Comme viens de te dire herch tu affecte un id unique à chacun de tes boutons
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    bouton.setActionCommand("id_bouton");
    et dans ton écouteur tu appel la méthode getActionCommand sur l'ActionEvent qui est en paramètre de la méthode actionPerformed pour retrouver l'id du bouton cliqué.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  6. #6
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bouton.setActionCommand("id_bouton");
    pour chacun de tes boutons, tu remplaces id_bouton par un identificateur de ton choix, et dans l'écouteur, tu teste quel bouton a été activé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public void actionPerformed(ActionEvent e)
    {
        String actionCommand = e.getActionCommand();
        if (actionCommand.equals("bouton1"))
        //....
        else if (actionCommand.equals("bouton2"))
        //....
        //et ainsi de suite
    }
    actionCommand représentera l'identificateur du bouton activé, c'est l'identificateur que tu lui a donné par setActionCommand

  7. #7
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    je te remercie de ta réponse
    je me suis mal exprimé c'est la création des bouton fleche et l'ajout dans le panel
    je n'y arrive pas les boutons on pris le meme nom

    for(int i=0;i<=7;i++){
    this.boutonColonne=new JButton(new ImageIcon("action"+i+".gif"));
    }

  8. #8
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    j'ai toujours pas compris ce que tu veux
    c'est quoi boutonColonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(int i=0;i<=7;i++){
    this.boutonColonne=new JButton(new ImageIcon("action"+i+".gif"));
    }
    remarque que tu ne fais que l'écraser 7 fois

  9. #9
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    ta réponse que tu ma donné ma aider (le code de l'événement)

    mais maintenant j'ai un souci lors de la creation de mes boutons, ils s'appellent tous de la meme facon!!!

  10. #10
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    tu n'as toujours pas répondu à ma question.
    c'est quoi boutonColonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(int i=0;i<=7;i++){
    this.boutonColonne=new JButton(new ImageIcon("action"+i+".gif"));
    }
    remarque que tu ne fais que l'écraser 7 fois

  11. #11
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    je suis entrein de faire un puissance 4
    ces boutons colonne sont des images qui me permette de selectionner la colonne pour insérer un pion

  12. #12
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    il faut vraiment que tu comprennes ce que je te dis
    dans ta boucle, tu crée à chaque fois un bouton, et tu l'affectes au même objet, "boutonColonne", ce qui fait que tu écrases son contenu que tu avais affecté dans le tour de la boucle précédent
    regarde ce bout de ton code, ça tourne vraiment pas rond
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for(int i=0;i<=7;i++){
        //à chaque tour, le contenu  de boutonColonne sera écrasé
        this.boutonColonne=new JButton(new ImageIcon("action"+i+".gif"));
    }
    ma question est : est-ce que boutonColonne est un JButton, ou un tableau de JButton??

  13. #13
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    je le comprend se code c'est pas la peine de le mettre a chaque fois ...
    ces bouton sont insérés dans un gridlayout.
    le probléme quand je regarde le nom de mon bouton selectionner dans l'ecouteur je retrouve tout le temps action7.gif??
    comment je peux faire??

    mon code avant:
    this.panel=new JPanel(new GridLayout(7,1));
    this.boutonfleche=new JButton(new ImageIcon("action.gif"));
    this.panel.add(this.boutonfleche);
    this.boutonfleche.addActionListener(al);

  14. #14
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    le probléme quand je regarde le nom de mon bouton selectionner dans l'ecouteur je retrouve tout le temps action7.gif??
    c'est normal vu ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(int i=0;i<=7;i++){
        this.boutonColonne=new JButton(new ImageIcon("action"+i+".gif"));
    }
    à la fin de la boucle, ton bouton aura l'icone action7.gif
    il faudra que tu fasses un tableau de boutons, un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    JButton[] tesBoutons = new JButton[8];
    for(int i=0;i<=7;i++){
        tesBoutons[i] = new JButton(new ImageIcon("action"+i+".gif"));
    }
    et puis tu fais une boucle pour ajouter tes boutons au panel

Discussions similaires

  1. Problème avec des Boutons Radio
    Par Spinoza23 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 01/02/2007, 13h59
  2. problème de avec des boutons
    Par babap1 dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 04/01/2007, 09h13
  3. [C#] Message box avec des boutons diff.
    Par BoOom dans le forum Windows Forms
    Réponses: 1
    Dernier message: 21/04/2006, 11h47
  4. Afficher un fond en arrière plan avec des boutons
    Par eGen dans le forum Agents de placement/Fenêtres
    Réponses: 15
    Dernier message: 03/04/2005, 23h37

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