Je souhaiterai savoir comment il serait possible d'empecher un ecouteur (mouseListener) de fonctionner apres qu'il est ete utilise une fois.

Voici un des ecouteurs de mouseClicked sur un de mes boutons que je souhaiterai desactiver aprés 1 clic :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
        ...
        jButton4.setForeground(new java.awt.Color(236, 233, 216));
        jButton4.setText(bundle.getString("grille.jButton4.text")); 
        jButton4.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                grille.this.mouseClicked(evt);
            }
        });
        jPanel1.add(jButton4);
        ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
private void mouseClicked(java.awt.event.MouseEvent evt) {                              
        JButton source = (JButton) evt.getSource();
        source.setBackground(Color.blue);
        source.setForeground(Color.blue);
        ...
        }
Je precise que je dispose de 100 boutons gerés par la methode getSource().
J'ai essayé la methode setEnabled(false) mais elle ne permet pas de desactiver l'ecouteur.
Merci d'avance pour votre aide

De plus j'ai remarqué que parfois sur mes application utilisant des JButtons il est necessaire de clicker a plusieur reprise pour que l'action soit pris en compte! Est-ce que c'est normale ? Quelqu'un pourrait il me dire d'où vient se probleme?