# 1 Sekunde verzögern bis nächstes Befehl ausgeführt wird!



## Perpetuum2 (17. Mai 2005)

Hallo!

Ich versuche verzweifelt mit Java zwischen einem Befehl und einem anderen eine 1 Sekunden verzögerung einzubauen. Man kann es sich so vorstellen, das nach einer sekunde ein andere Bild angezeigt werden soll. Dies hier funktioniert nicht. DIe Verzögerung tritt von ca. 2 Sekunden zwar ein, aber das Erste Bild/Text wird nicht angezeigt...


```
long delay = System.currentTimeMillis();	
				
				// Von "Ready" bis zum Buchstaben A vergeht 1 Sekunde
				while((System.currentTimeMillis() - delay) >=0 &&
						(System.currentTimeMillis() - delay) <=1000){
					lab.setText("READY");

				}
				
				
				// A wird 1 sekunde lang angezeigt
				while((System.currentTimeMillis() - delay) <=2000 &&
						(System.currentTimeMillis() - delay) >=1000){
					lab.setText("A");
				}
```

Hat jemand eine Idee warum? Es soll auch irgendwie mit javax.swing.Timer gehen und einem "ActionListener". Leider versteht ich nicht wie das funktioniert.  

Bin für jeden Tipp dankbar...

Gruß
Perpetuum[/code]


----------



## stev.glasow (18. Mai 2005)

Der Code haut so wie ich das sehe vorne und hinten nicht hin.

Ich hät das mit Thread#sleep() gemacht:

```
aktion1
Thread.sleep(2000); // 2 Sekunden warten
aktion2
```
Ist aber etwas ungenau +-50 Milleskunden sach ich mal so  - wie man einnen Thread exakt 2000 Millisekunden warten lässt weiß ich auch nicht.


----------



## Sky (18. Mai 2005)

Ansonsten: Timer und TimerTask


----------

