Désactiver le bouton à cliquer avant de actionPerformed est terminé java

J'ai un bouton à faire une longue fonction, je veux désactiver ce bouton une fois que l'utilisateur une fois cliquez sur elle pour l'empêcher de cliquez de nouveau sur beaucoup de fois

Le bouton désactivé mais le problème est que une fois la fonction terminée, le bouton devient actif de nouveau
j'ai essayé de mettre button.setEnabled(false); dans un nouveau thread, mais il ne fonctionne pas non plus

pour tester cet exemple de code

button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent ae) {
        button.setEnabled(false);
        for (int i = 0; i < Integer.MAX_VALUE; i++) {
            for (int j = 0; j < Integer.MAX_VALUE; j++) {
                for (int ii = 0; ii < Integer.MAX_VALUE; ii++) {
                }
            }
        }
    }
});
pourquoi ne mettez vous pas "bouton.activé(false)" à la fin pour les boucles, s'il vous Plaît pouvez vous désactivez la fonction de finition.
Ne bloquez pas l'EDT (Event Dispatch Thread) - le GUI de "geler" quand ça arrive. Au lieu d'appeler Thread.sleep(n) mettre en œuvre un Swing Timer pour la répétition de tâches ou d'une SwingWorker pour les tâches longues. Voir la Simultanéité dans Swing pour plus de détails.
A) parce que ce n'est pas le problème, et b) qu'il irait à l'encontre de ce que l'OP est d'essayer de le réaliser!
button.enabled(false) dose n'existe pas en java
Le bouton désactivé mais le problème est que une fois la fonction terminée, le bouton devient actif j'ai essayé de l'exécution de votre code. Le problème que j'ai rencontré est l'INTERFACE utilisateur se bloque. Le bouton est toujours désactivé après l'exécution de la fonction, contrairement à vos conclusions. Peut-être que vous avez manqué certains codes qui provoque la réactivation du bouton?

OriginalL'auteur Steve | 2013-07-23