Tableau de JButton [Résolu]

Signaler
Messages postés
6
Date d'inscription
mercredi 9 novembre 2005
Statut
Membre
Dernière intervention
8 février 2007
-
marou91
Messages postés
6
Date d'inscription
mercredi 9 novembre 2005
Statut
Membre
Dernière intervention
8 février 2007
-
Salutation a tous,


alors je vous explique mon problème j'ai créé un tableau de JButton et
je n'arrive pas à recupérer l'index de se bouton voici mon code

JButton [] CaractPdt;

for(B=1;B<=(i/5);B++){

                   

             

           
    CaractPdt[B]= new JButton ("Voir le produit
commander "+B);

          
       
CaractPdt[B].addActionListener(new ActionListener() {

          
           
           
           
    public void actionPerformed(ActionEvent e) {

          
           
           
           
        System.out.println("B entré "+B);

          
           
           
           
   
             
           
           
           
    }

          
           
           
            });


                }


merci d'avance pour votre aide

5 réponses

Messages postés
5341
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
10 décembre 2019
89
Salut,

pour reprendre le code avec l'astuce de [auteurdetail.aspx?ID=13557 DARKSIDIOUS]

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Test extends JFrame{

    public Test(){
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(300, 700);
        setLocationRelativeTo(null);
        JPanel p = new JPanel();
       
        JButton [] caractPdt = new JButton[20];
        for(int i = 0; i < caractPdt.length; i++){
            caractPdt[i]= new JButton ("Voir le produit commander "+i);
            caractPdt[i].setName("" + i);
            caractPdt[i].addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    JButton b = (JButton)e.getSource();
                    System.out.println("B entré "+b.getName());
                }
            });
            p.add(caractPdt[i]);
         }
        setContentPane(p);
    }
   
    public static void main(String[] args) {
        new Test().setVisible(true);
    }
}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
87
normal puisque ton bouton n'a pas accès à la variable B !

Le mieux : nomme ton bouton : CaractPdt.setName(B.toString());
Messages postés
6
Date d'inscription
mercredi 9 novembre 2005
Statut
Membre
Dernière intervention
8 février 2007

euh Darksidious! merci de ton conseil mais je ne vois pas comment le
faire etant donnée ke B est un integer et je ne voit pa comment faire
pour recupérer l'index
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
87
ton ActionEvent de la fonction ActionPerformed contient la référence à l'objet cliqué :

((JButton) e.getSource()).getName() Te renverra String(B).
Messages postés
6
Date d'inscription
mercredi 9 novembre 2005
Statut
Membre
Dernière intervention
8 février 2007

Merci Twinuts  Sa c'est cool de ta part

PS: merci a toi aussi [auteurdetail.aspx?ID=13557 DARKSIDIOUS]