Thread.sleep verhaelt sich eigenartig



  • Hallo zusammen,

    bei folgendem Code sollte der Text des JButtons eigentlich veraendert
    , dann 2sek gewartet und nocheinmal geaendert werden.

    if(erfolg == 1) {
      btnAnford.setText("Mail versendet");
      btnAnford.repaint();
      try {
        Thread.sleep(2000);
      } 
      catch (InterruptedException ex) {
        System.out.println(ex);
      }
      btnAnford.setText("anfordern");
      btnAnford.repaint();
      }
    else {
      btnAnford.setText("Error Mail");
      btnAnford.setEnabled(false);
      btnAnford.repaint();
    }
    

    Nach dem klicken auf den Button warte er auch 2sek aber die Aenderung
    zu "Mail versendet" erscheint nicht! 😞

    Hat jemand eine Idee? 😕



  • haderlump22 schrieb:

    Nach dem klicken auf den Button warte er auch 2sek aber die Aenderung
    zu "Mail versendet" erscheint nicht! 😞

    Das liegt daran, daß du auch den ED-Thread, der für das Zeichnen
    der GUI zuständig ist, schlafen legst.

    Du mußt deine Aktionen schon in einem eigenständigen Thread auslagern.


Anmelden zum Antworten