Tableau de JButton [Résolu]

marou91 6 Messages postés mercredi 9 novembre 2005Date d'inscription 8 février 2007 Dernière intervention - 22 nov. 2006 à 13:58 - Dernière réponse : marou91 6 Messages postés mercredi 9 novembre 2005Date d'inscription 8 février 2007 Dernière intervention
- 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
Afficher la suite 

5 réponses

Répondre au sujet
Twinuts 5261 Messages postés dimanche 4 mai 2003Date d'inscription 20 avril 2018 Dernière intervention - 22 nov. 2006 à 16:56
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Twinuts
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 22 nov. 2006 à 15:03
0
Utile
normal puisque ton bouton n'a pas accès à la variable B !

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

((JButton) e.getSource()).getName() Te renverra String(B).
Commenter la réponse de cs_DARKSIDIOUS
marou91 6 Messages postés mercredi 9 novembre 2005Date d'inscription 8 février 2007 Dernière intervention - 22 nov. 2006 à 17:06
0
Utile
Merci Twinuts  Sa c'est cool de ta part

PS: merci a toi aussi [auteurdetail.aspx?ID=13557 DARKSIDIOUS]
Commenter la réponse de marou91

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.