Bonjour,
Je tente d'utiliser la méthode 3 du tutorial sur les ActionListener. Cependant, je n'arrive pas a récupérer l'action. Voici les classes en question :
ButtonListener.java : ma classe qui traite les actions
JPanelControl.java : ma class qui créer mon JPanel avec tout mes boutons :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package viewer; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; class ButtonListener implements ActionListener { ButtonListener() { } public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("up")) { System.out.println("JButtonUp has been clicked"); } if (e.getActionCommand().equals("down")) { System.out.println("JButtonDown has been clicked"); } } }
JbuttonPan.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package viewer; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.event.ActionListener; import javax.swing.*; public class JPanelControl extends JPanel implements ViewerConstants { public JPanelControl() { JButtonUp = new JButtonPan("up"); JButtonUp.addActionListener(new ButtonListener()); JButtonDown = new JButtonPan("down"); JButtonDown.addActionListener(new ButtonListener()); ... } private JButtonPan JButtonUp; private JButtonPan JButtonDown; }
Lorsque je clique sur les boutons, je n'ai aucunes sorties dans ma console.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package viewer; import javax.swing.JButton; public class JButtonPan extends JButton { public JButtonPan(String icon){ this.setIcon(new javax.swing.ImageIcon(getClass().getResource("../pics/".concat(icon).concat(".png")))); // NOI18N this.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); this.setMaximumSize(new java.awt.Dimension(20, 20)); this.setMinimumSize(new java.awt.Dimension(20, 20)); this.setPreferredSize(new java.awt.Dimension(20, 20)); this.setPressedIcon(new javax.swing.ImageIcon(getClass().getResource("../pics/".concat(icon).concat("p.png")))); // NOI18N this.setSelected(true); } }
Je sais que cette question a sûrement été traité mainte et mainte fois, cependant, j'ai tenté plusieurs méthodes pour récupérer le clique mais aucunes ne fonctionnent. J'ai tenté d'utiliser le debuger de NetBeans mais sans succès.
Toutes documentations, bouts de code, liens sont les bienvenues ! Merci
Partager