Comment faire pour désactiver javax.swing.JButton en java?

J'ai créé une sautes d'application et il y a un bouton "Démarrer" sur l'interface graphique. Je veux qu'à chaque fois que j'ai cliqué sur "Démarrer" bouton, le bouton de démarrage doit être désactivé et le bouton "Arrêter" être activé.

Pour ce que j'ai écrit le code suivant dans le "ActionPeformed(...)" méthode de la touche "Start"

startButton.setEnabled(false);
stopButton.setEnabled(true);

Mais le code ci-dessus n'est pas de créer l'effet souhaité sur le GUI.

Est le code ci-dessus correcte pour ce que je veux faire?

Il ne fonctionne pas avec "repaint()" trop.

Edit:

Le code est très long donc je ne peux pas coller tout le code. Je peux dire, cependant, de plus en plus sur le code.

Dans le "ActionPeformed" méthode de bouton "démarrer", après avoir appelé les deux rapports ci-dessus, je suis de l'exécution d'un "SwingWorker" fil.

Est ce fil à la création de tout problème?

  • Le ci-dessus devrait fonctionner, et vous ne devriez pas avoir à appeler repaint(), pourriez-vous poster plus de code dans votre logique.
  • Une autre possibilité serait d'utiliser le bouton de démarrage aussi comme bouton d'arrêt (en fonction de vos besoins), il suffit de sauvegarder l'état actuel et il suffit de changer le texte.