Ecouteur sur JButton qui ne fonctionne pas
Bonjour à tous,
Je viens solliciter votre aide car je me casse la tête sur un problème d'écouteur depuis plusieurs jours.
Mon application est une sorte de jeu de cartes. Elle contient un JPanel (inclus dans un JScrollPane, pour avoir une ScrollBar), qui peut contenir différents boutons représentant des cartes du jeu (qui dérivent de JButton).
En fait, de base, le JPanel n'est pas visible et ne contient aucun bouton. Si la touche F1 est appuyée, mon application ajoute dans le JPanel les cartes du joueur 1, puis l'affiche de la manière suivante :
Code:
1 2 3 4 5 6 7
| if (e.getKeyCode() == e.VK_F1) {
this.panelHand.SetCards(this.players.get(0).getHand()); // On définit les cartes du panel comme celles du joueur 1
this.panelHand.setVisible(true);
this.panelHand.paintImmediately(getBounds()); // Redessiner le panel (car c'est la méthode paintComponent du panel qui va ajouter les cartes, ce qui est nécessaire avant d'appeler GetVarButtons pour ajouter les écouteurs)
this.panelHand.validate();
this.AddActionListener(this.panelHand.GetVarButtons());
} |
J'ajoute également des écouteurs sur chaque carte :
Code:
1 2 3 4 5
| public void AddActionListener(ArrayList<JButton> _buttons) {
for (JButton button : _buttons) {
button.addActionListener(this);
}
} |
Mon problème avec ce code est que lorsque je clique sur un bouton représentant une carte, rien ne se passe, comme ci je n'avais pas ajouté d'écouteur à mes boutons...
Par exemple, lorsque je clique sur un bouton, le programme n'affiche rien, malgré ce code :
Code:
1 2 3
| public void actionPerformed(ActionEvent e) {
System.out.println("Action");
} |
Mon problème peut-il venir du fait que pour mes boutons j'ai créé une classe qui hérite de JButton, et non pas JButton directement ?
Merci d'avance !