Desactivez un bouton après un clique [Résolu]

- - Dernière réponse :  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 !
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
6449
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
223
3
Merci
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);
}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 159 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Julien39
0
Merci
Mmh, c'est vraiment étrange, je vais voir ce que je peux faire
Merci pour ton aide !
Commenter la réponse de Darkprogra
0
Merci
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.
Commenter la réponse de Utilisateur anonyme
0
Merci
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
Commenter la réponse de Darkprogra