Desactivez un bouton après un clique

Résolu
Darkprogra - 16 août 2012 à 15:43
 Darkprogra - 18 août 2012 à 22:10
Bonjour !

Voilà j'ai un problème tout simple mais je n'arrive pas à trouver de solution j'ai un Jbutton que je veux desactiver après un clique.. Vous allez me dire : "facile, utilise setEnabled()" et bien ça ne marche pas je ne comprend pas, pouvez vous m'éclaircir s'il vous plait ?

voici ce que j'ai fait :
final JButton trouve = new JButton("");
trouve.addMouseListener(new MouseAdapter() {

public void mouseClicked(MouseEvent arg0) {
trouve.setEnabled(false);
JOptionPane pop;
pop = new JOptionPane();
JOptionPane.showMessageDialog(null, "Bravo !", "Vous m'avez trouvé..", JOptionPane.INFORMATION_MESSAGE);
}


});
trouve.setBounds(138, 120, 24, 48);
getContentPane().add(trouve);


Si vous pouvez me dire ce qui cloche ça serait super !

4 réponses

cs_Julien39
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
366
16 août 2012 à 16:02
Salut,

Je viens de tester ça, est ça marche...

	public static void main(String[] args) {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(300, 300);
f.setLocationRelativeTo(null);
final JButton b = new JButton("test");
b.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {
System.out.println("ok");
b.setEnabled(false);

}
});
f.add(b);
f.setVisible(true);
}
3
Mmh, c'est vraiment étrange, je vais voir ce que je peux faire
Merci pour ton aide !
0
Utilisateur anonyme
18 août 2012 à 17:59
Salut,

C'est vrai que c'est curieux. Essaye en passant par les ActionListener comme l'a fait Julien39. Avec eux, je suis sûr que ça marchera car je pense que cette interface est plus appropriée pour les boutons que la classe MouseAdapter.

Au fait, dans ton code, les lignes :
JOptionPane pop;
pop = new JOptionPane(); 

ne te servent pas vraiment car après elles tu utilises directement la classe JOptionPane et non pas une variable^^

--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
0
C'est bon, je suis passé par la classe ActionListener et ça a marché !

Merci à vous pour vos réponses !

ps : @Pylouq oui c'est vrai j'avais pas remarqué merci pour la remarque
0