Schleife im "Hintergrund" um Uhr anzuhalten!

SebastianSRL

Grünschnabel
Schönen Guten Tag,

ich habe vor eine Anwendung mit Java zu programmieren die anzeigt wie lange ich noch arbeiten zu habe. Also ich gebe auf eine Oberfläche die Daten an von wann bis wann. Es öffnet sich dann ein neues Fenster und dort läuft dann die Zeit herunter, Minute für Minute und eine Fortschritssbalken (ProgressBar) füllt sich.
So weit läuft alles seht gut nur meine Frage ist nun wie kann ich eine Schleife so programmieren das sie quasi im Hintergrund läuft. Denn es soll beim Start klicken ein neues Fenster aufgehen, wie beschrieben, und ja gleichzitig die sinkende Arbeitszeit aktualisiert werden, das wollte ich dann mit einer Schleife die jede Minute das Fenster aktualisiert realisieren. Problem ist jetzt natürlich, wenn ich Strat klicke und die Schleife anläuft passiert rein nichts mehr außer das sie weiter läuft. Die Oberfläche ist nicht mehr bedienbar und das ist ja nicht das was ich wollte. Also kann mir da jemand helfen?
 
Hallo und willkommen,

das Stichwort ist Threading:
http://www.google.de/search?client=opera&rls=de&q=java+threading&sourceid=opera&ie=utf-8&oe=utf-8

Einfach mal ein bischen reinlesen. Man müsste einen zweiten Thread erstellen der für das zählen der Zeit zuständig ist und regelmäßig Aktualisierungen an die Oberfläche gibt.

Um den Einstieg ein wenig zu erleichtern Hilft eventuell ein Auszug aus dem Open-Book "Java ist auch eine Insel"
http://www.galileocomputing.de/open...10_002.htm#mj827a417e196b6d70dc76b0aca0130c9a

lg
 
Hallo

ich bin nicht so der Java Pro aber ich würde sowas evtl wie folgt lösen.

Java:
//Timer setzen der alle 1000 millisec ein ActionEvent auslöst
javax.swing.Timer timer = new Timer(1000,this);
timer.start();

//Eventbehandlung
public void actionPerformed(ActionEvent event) {
  //Timer event?
  if(event.getSource() == timer) {
      if(countDown-->0) {
          writeCountDown(countDown);
          //evtl event wen fertig einfügen popup oder so
       }else
          System.exit(0);
   }

Wenn Du interesse hast kannst du acuh ma hier nachschauen ob das ne Option wäre habe aber selbst noch nie mit Threads gearbeitet
 
Erst einmal vielen Dank für die Antworten.
Ich bin gerade dabei das mit den Threads auszuprobieren, mal schauen wie das klappt. Aber das gezeigte Beispiel werde ich sicher gleich auch nochmal testen.
 
das ist ja nur ein Codeschnipsel der mir so auf anhieb einfiel! ;)
Hab mir gerade ein wenig das mit den Threads angeschaut ! Scheint wohl die elegantere Variante zu sein ;) Viel erfolg
 
Zurück