Tableau de JButton

Résolu
marou91 Messages postés 6 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 8 février 2007 - 22 nov. 2006 à 13:58
marou91 Messages postés 6 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 8 février 2007 - 22 nov. 2006 à 17:06
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

Twinuts Messages postés 5374 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 3 mars 2023 110
22 nov. 2006 à 16:56
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
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
22 nov. 2006 à 15:03
normal puisque ton bouton n'a pas accès à la variable B !

Le mieux : nomme ton bouton : CaractPdt.setName(B.toString());
0
marou91 Messages postés 6 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 8 février 2007
22 nov. 2006 à 15:19
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
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
22 nov. 2006 à 16:50
ton ActionEvent de la fonction ActionPerformed contient la référence à l'objet cliqué :

((JButton) e.getSource()).getName() Te renverra String(B).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
marou91 Messages postés 6 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 8 février 2007
22 nov. 2006 à 17:06
Merci Twinuts  Sa c'est cool de ta part

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