Digitale Uhr mit einem Thread erstellen

8

Ich versuche eine digitale Uhr mit einem Thread zu erstellen, da mir das logisch erscheint, wie man es machen würde. Ich bin mir nicht sicher, ob ich den richtigen Weg eingeschlagen habe, aber ich habe mir vorgenommen, die anfängliche aktuelle Systemzeit mit dem JFrame-Konstruktor zu erstellen und sie als Text unter Verwendung eines Labels anzuzeigen. Im Konstruktor erstelle ich dann das Thread-Objekt, mit dem die Uhrzeit aktualisiert werden soll.

Ich habe mich etwas angestrengt und hoffe auf einen Ratschlag, wie es richtig gemacht wird.

%Vor%

Dies ist dann meine Methode run (), um die Uhr jede Sekunde zu aktualisieren.

%Vor%

Hauptmethode.

%Vor%     
Arianule 20.01.2012, 09:57
quelle

3 Antworten

2

Der Label-Status sollte im Event Dispatch Thread aktualisiert werden.

Sie müssen die folgende Änderung hinzufügen:

%Vor%

statt einfach das Label aus dem separaten Thread zu aktualisieren.

Es lohnt sich, sich die einfache Beschreibung von The Swing GUI Freezing Problem anzuschauen und es ist eine einfache Lösung.

    
MockerTim 20.01.2012, 10:34
quelle
2

Was möchten Sie verbessern? Es sieht ok aus, while(runner == null) ist nicht notwendig, du initialisierst den Runner genau darüber.

    
isah 20.01.2012 10:03
quelle
1

Überprüfen Sie diese Klasse Ссылка ScheduleAtFixedRate (TimerTask Task, lange Verzögerung, lange Periode) ist wahrscheinlich, was Sie brauchen.

    
tomgi 20.01.2012 10:13
quelle

Tags und Links