Bonjour, dans mon programme, je dois ajouter un listener à un bouton qui est répété plusieurs fois (listing de données).
Le listing de données provient d'un Vecteur, à chaque entrée lue, un bouton DELETE y est ajouté.
Le nombre d'Objets (d'entrées) qu'il peut y avoir dans le Vecteur peut varier.
Mon problème est d'ajouter un listener sur ces boutons DELETE qui, en fonction du boutons sur lequel l'utilisateur va cliquer, supprimera l'objet auquel il est associé dans le Vecteur.
J'ai bien réussi a créer un Listener de sorte à ce que si l'on clique sur le bouton DELETE (n'importe lequel) il effectue une action mais ce que je n'arrive pas à faire, c'est récupérer l'information concernant le bouton qui a été cliqué (à quel objet dans le vecteur était il associé ?).
Voila le code que j'ai :
Code :
- for(int i = 0; i < answers.size() ; i++)
- {
- gbc.gridy++;
- Panel_Quest.add(new JLabel(i+1 + ". " ), gbc);
- ButtonList Btn_List = new ButtonList("Delete", i);
-
- [....]
- Panel_Quest.add(Btn_List, gbc);
- Btn_List.removeActionListener(this);
- Btn_List.setActionCommand("DELETE_ANSWER" );
- Btn_List.addActionListener(this);
- gbc.gridx = 0;
- }
|
Le bouton est issu d'une classe ButtonList qui me permet d'associer un "ID" à chacun d'eux, cet ID correspond en fait à mon numéro d'itération dans la boucle for du dessus. Je ne sais pas si c'est la bonne méthode à mettre en oeuvre mais c'est la seule que j'ai réussi à trouver
Comme je l'ai notifié plus haut, je n'arrive pas à récupérer cet ID associé au bouton cliqué une fois arrivé dans l'action à effectuer.
Code :
- package common.components;
- import javax.swing.*;
- public class ButtonList extends JButton
- {
- private int ID;
- private String button_text;
-
- public ButtonList(String btn_name, int btn_id)
- {
- button_text = new String();
-
- SetID(btn_id);
- SetName(btn_name);
- super.setText(button_text);
- }
-
- public void SetID(int btn_id)
- {
- ID = btn_id;
- }
-
- public void SetName(String btn_name)
- {
- button_text = btn_name;
- }
-
- public int GetID()
- {
- return ID;
- }
-
- public String GetText()
- {
- return button_text;
- }
- }
|
Si qqun avait une idée concernant la possibilité de récupérer plus tard l'ID ? Je suis preneur
Peut être même que toute la méthode mise en oeuvre est a changer ... Je suis a l'écoute de toutes les solutions.
Message édité par JBs le 30-05-2004 à 18:50:39