Erstmal vielen Dank für deine ausführliche Antwort!
Ich habe das jetzt mal versucht so wie du es gesagt hast mit dem 200ms sleep.
while (true)
{ long actTime = System.currentTimeMillis(); // Tue irgendwas, z.b. Linie zeichnen
try {
thisThread.sleep(200); }
catch (InterruptedException e){}}
Ich bekomme jetzt aber nur noch ein schwarzes Bild und das Programm hängt sich auf!
Vielleicht schreib ich mal ein bisschen von meinem Code. Noch eine erklärung:
Ich habe jetzt die Oberfläche in einer Hauptklasse mit dem Start und Stop Button. Nun habe ich eine 2. Klasse (extends JPanel), die dann in meinem JPanel, welches ich erstellt habe in der Hauptklasse die "Grafik" zeichnet. Dh. X-Zeitachse und die Linie die sich bewegen soll.
Zuerst habe ich mal getestet ob sich die Linie 1px weiterbewegt wenn ich auf den Start button klicke -> hat funktioniert.
Und dann habe ich halt angefangen mit der Uhr. Sie hat aber nur funktioniert wenn ich eben start geklickt habe, etwas gewartet habe und dann auf stop. Dann ist die Linie vom Ausgangspunkt auf den aktuellen Wert gesprungen. (Also nicht schön "Gewandert")
private void Uhrstart(){
aktiviert=true;
millisekunden=System.currentTimeMillis() - millisekunden;
}
private void Uhrstop(){
if(aktiviert){
millisekunden=System.currentTimeMillis()-millisekunden;
aktiviert=false;
}
Dann habe ich in Uhrstart() try Thread.sleep(200) .... miteingefügt. Da hängt sich dann das Programm auf.
Falls ich einen neuen Thread erstelle: Soll ich dann einen Thread für die Uhr verwenden, und die Grafik + Hauptklasse einen zusammen?
Gruß