Forum: PC-Programmierung Java Thread.sleep


von Heiko (Gast)


Lesenswert?

Hallo Leute,

ich habe ne Frage zu Thread.sleep().
Ich habe ein Schleife, die in jeder Iteration ein JLabel beschreibt und 
ein JPanel neumalt. Die Schleife soll mit 10ms "getaktet" werden, 
deshalb das Thread.sleep(10);.
1
object = getNewObject();
2
while(object != null){
3
   panel.setParameter(object);
4
   panel.repaint();
5
   label.setText(object.toString());
6
7
   Thread.sleep(10);
8
9
   object = getNewObject();
10
}

Folgendes passiert:
Das Warten wird korrekt ausgeführt, allerdings werden alle 
Schleifenoperatioen, die vor Thread.sleep() stehen, innerhalb der 
Schleife nicht ausgeführt, sondern scheinbar erst nach der Schleife.

Weiß jemand, wie ich mein Ziel erreichen könnte?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Ich sag jetzt mal nur 
http://docs.oracle.com/javase/6/docs/api/javax/swing/Timer.html
So wie du das machst ist es murks und außerdem gibt es dafür fertige und 
getestete Funktionen...

Heiko schrieb:
> sondern scheinbar

Dafür gibt es Debugger... Was du siehst ist aber eher ein Effekt das du 
das threadingmodel von AWT nicht beachtest.

von Heiko (Gast)


Lesenswert?

Super danke, mit dem Timer gehts super

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.