Eine Uhr
programmieren - so etwas lernt man in der Vorlesung Programmieren
im Internet
Die Uhren sind als Javacomponenten implementiert und werden
mit Parametern für die Größe, die Farben sowie eine
Zeitzone initialisiert. Das Problem das man nun häufig beobachten
kann ist, dass die von der VM abgeriffene Uhrzeit nicht mit jener in der
"Taskleiste" übereinstimmt, das sei aber leider nicht zu ändern,
so der Dozent - er empfindet dies sogar als Vorteil, denn so erhalte man
die unverfälschte, wirkliche Systemzeit (frei von Dingen, wie Softwareseitige
Manipulation der Anzeige im Rahmen der Sommerzeit oder so).
Nutzt man dagegen eine VM von Microsoft (das Programm jview.exe oder
den Systemeigenen Browser), so gibt diese für alle Zeitzonen grundsätzlich
die Betriebssystemzeit zurück. Ach interessant.
|
|
|
|
Eine Uhr hiesiger Zeit
|
Eine Uhr Londoner Zeit
|
Eine Uhr Pekinger Zeit
|
Die Uhr ist als AWT-Componente implementiert, so dass sie von
einem beliebigen Container (Frame, Applet, Container...) eingebunden werden
kann. Die Objekte Ziffernblatt.class und Zeiger.class
dienen als Abstraktion ebendieser Objekte einer Uhr und werden von der
paint()-Methode
der Uhr (Uhr.class) zum Zeichnen selbiger eingesetzt. Das Uhr.class
Objekt seinerseits wird von dem Thread
Uhrwerk.class gesteuert,
durch Aufruf der repaint()-Methode, nach verheriger Manipulation
der Zeitfelder in Uhr.class.
Die Classen AnotherCanvas.class und Fenster.class
sind lediglich einfache Ableitungen zum doppeltgepufferten Zeichnen (verhindert
Bildschirmflimmern).
AnotherCanvas.java
Fenster.java
Uhr.java
UhrFrame.java
Uhrwerk.java
Zeiger.java
Ziffernblatt.java