Dietmar Ratz, Jens Scheffler, Detlef Seese, Jan Wiesenberger
Grundkurs Programmieren in Java
Band 1: Der Einstieg in Programmierung und Objektorientierung (4. Auflage, Carl Hanser Verlag, 2007)
Band 2: Einführung in die Programmierung kommerzieller Systeme (2. Auflage, Carl Hanser Verlag, 2006)

Beispielprogramme aus Band 2

Hier finden Sie die Beispielprogramme aus dem Buch. Suchen Sie einfach anhand des Inhaltsverzeichnisses die Stelle, an der sich das Programm im Buch befindet, und navigieren Sie über den Link in den entsprechenden Teil des Dokuments.

Alle Beispiele zum Download (zip)

Inhaltsverzeichnis


2.2.3.1: Das Arbeiten mit nur einem Observer
Hauptprogramm.java Diese Klasse ändert die im Observer gespeicherten Namen zufällig
Name.java Diese Klasse symbolisiert einen Namen den man bearbeiten kann
Observer.java Objekte dieser Klasse speichern zehn Namen und achten auf Veraenderungen

2.2.3.2: Das Arbeiten mit mehreren Observern
Hauptprogramm.java aendert die im Observer gespeicherten Namen zufaellig
Name.java symbolisiert einen Namen
Observer.java speichert zehn Namen und achtet auf Aenderungen
StatisticObserver.java Dieser Observer fuehrt eine kleine Statistik auf den Namen aus

2.3.1: Zugrunde liegende Idee
Funktion.java Diese Klasse repräsentiert eine Funktion
Id.java Diese Klasse repräsentiert die identische Funktion
Konstante.java Diese Klasse repräsentiert die konstante Funktion

2.3.3.2: Produkt zweier Funktionen
Produkt.java Diese Klasse repräsentiert ein Produkt
Summe.java Diese Klasse repräsentiert eine Summe

2.3.4: Variationen des Pattern
simpleWindow.java Diese Klasse erzeugt ein einfaches Fenster

3.1.1: Arbeiten mit String-Objekten
StringRefs.java Diese Klasse stellt String-Objekte als Referenzdatentyp vor

3.2.1: Arbeiten mit "eingepackten" Daten
WrapperBeispiel.java Diese Klasse zeigt die Funktionsweise von Wrapperklassen

3.2.3: Ein Anwendungsbeispiel
Summiere.java Diese Klasse stellt ein Summations-Programm dar

3.2.4: Automatische Typwandlung für die Wrapper-Klassen in Java 5.0
AutoBoxing.java Verwendung von Wrapper-Objekten mit AutoBoxing
Boxing.java Verwendung von Wrapper-Objekten mit explizitem Boxing

3.3.1: Arbeiten mit langen Ganzzahlen
QuadrierungBigInt.java Diese Klasse ist ein modifiziertes Quadrierungsprogramm
QuadrierungLong.java Diese Klasse quadriert die Zahl 16 mehrfach

3.3.4: Arbeiten mit langen Gleitkommazahlen
ProduktSummeBigDec.java Diese Klasse korrigiert Fehler der Klasse ProduktSummeDouble
ProduktSummeDouble.java Diese Klasse gibt bei der Rechnung mit Gleitkommazahlen einzelne Rechenschritte aus

3.3.6: Viele Stellen von Nullstellen gefällig?
BigNewton.java Diese Klasse berechnet näherungsweise die Nullstellen der Funktion sqrt(2) mit Hilfe des Newton- Verfahrens

3.4.1: Standard-Ausgaben in Java
StandardFormat.java Diese Klasse zeigt wie man das Ausgabeformat von double- Werten beeinflussen kann

3.4.2: Arbeiten mit Format-Objekten
MyFormats.java Diese Klasse zeigt an weiteren Beispielen "selbst gemachte" Formate zur Ausgabe von numerischen Werten

3.4.3: Vereinfachte formatierte Ausgabe in Java 5.0
Ausgaben.java Formatierte Ausgabe mit printf

3.5.2: Auf die Plätze, fertig, los!
Stoppuhr.java Diese Klasse realisiert eine einfache Stoppuhr

3.5.3: Spezielle Calendar-Klassen
CalArith.java Diese Klasse gibt "Zeitpunkte" aus

3.5.4: Und noch mal: Zeitmessung
CalStoppuhr.java Diese Klasse ist eine alternative Version der "einfachen Stoppuhr" und arbeitet mit "Zeitpunkten"

3.6.1: Arbeiten mit Format-Objekten für Datum/Zeit-Angaben
MyDateFormats.java Diese Klasse gibt noch einige weitere Beispiele für "selbst gestrickte" Formate zur Ausgabe von Zeitangaben
MyStandardDateFormats.java Diese Klasse gibt noch einige Beispiele für Standard-Formate zur Ausgabe von Zeitangaben

3.7.3.2: Die Klasse HashSet
ZahlenMenge.java Diese Klasse zeigt die Verwendung einer Collection vom Typ HashSet

3.7.3.4: Die Klasse TreeSet
SortierteZahlenMenge.java Diese Klasse zeigt die Verwendung einer Collection vom Typ TreeSet

3.7.4.2: Die Klassen ArrayList und LinkedList
ZahlenListe.java Diese Klasse zeigt die Anwendung der List- Klassen am Beispiel der Klasse ArrayList

3.7.4.3: Suchen und Sortieren - Die Klassen Collections und Arrays
SortierteZahlenListe.java Diese Klasse demonstriert die Anwendung der Klasse Collections

3.8: Die Klasse StringTokenizer
StringTokens.java Diese Klasse ist ein Beispielprogramm zur Verwendung von StringTokenizer- Objekten

4.1: Rechnen mit rationalen Werten
Bruchzahl.java Diese Klasse modelliert Bruchzahlen (rationale Werte)

4.2.1: Designphase
Anzeige.java Diese Klasse ist für die Anzeige einer Uhr verantwortlich
Steuerung.java Diese Klasse übernimmt die Steuerfunktionen einer Uhr
Uhrwerk.java Diese Klasse bildet ein Uhrwerk ab

4.2.2: Modell und View
Systemzeit.java Diese Klasse ist eine einfache Realisierung des Uhrwerk-Interface

4.2.3: Controller und Hauptprogramm
KonsolenAnzeige.java Diese Klasse realsiert die Darstellung der Uhrzeit auf dem Konsolenfenster
WieSpaet.java Diese Klasse realisiert das Steuerungsinterface der Uhr

4.2.4: Ausblick
OhneSchnoerkel.java Diese Klasse ist eine "schnörkellose" Implementierung der Uhr aus diesem Kapitel

4.3.2: Die Klasse Scheibe
Scheibe.java Diese Klasse wird zur Realisierung der Scheiben bei unserem Türme von Hanoi- Problem benutzt

4.3.3: Die Klasse Stange
Stange.java Diese Klasse wird zur Realisierung der Stangen bei unserem Türme von Hanoi- Problem benutzt

4.3.4: Die Klasse Hanoi, erster Teil
Hanoi.java Diese Klasse wird zur Realisierung von Spieler und Spielbrett bei unserem Türme von Hanoi- Problem benutzt

5.2: Ein einfaches Beispiel mit dem AWT
FrameOhneInhaltAWT.java Diese Klasse erzeugt einen Frame mit den Mitteln des AWT- Paketes

5.3: Let's swing now!
FrameOhneInhalt.java Diese Klasse erzeugt einen Swing- Frame mit den von uns benötigten Erweiterungen
FrameOhneInhaltSwing.java Diese Klasse erzeugt einen Frame mit den Mitteln von Swing- Klassen

5.4: Etwas "Fill-in" gefällig?
FrameMitText.java Diese Klasse erzeugt einen Frame mit Text

6.3: Die abstrakte Klasse JComponent
FrameMitTextUndToolTip.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.4.1: Die Klasse Color
FarbigesLabel.java Diese Klasse kann ein farbiges Label darstellen
FrameMitSchwarzemLabel.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.4.2: Die Klasse Font
FrameMitMonospacedText.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.4.3.1: Die Klasse FlowLayout
FrameMitFlowLayout.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.4.3.2: Die Klasse BorderLayout
FrameMitBorderLayout.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.4.3.3: Die Klasse GridLayout
FrameMitGridLayout.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.5.1: Die Klasse JLabel
FrameMitBild.java Diese Klasse macht nichts anderes als ihr Name verspricht
images.html Grafiken die vom Beispielprogramm benötigt werden

6.5.3: Die Klasse JButton
FrameMitButtons.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.5.4: Die Klasse JToggleButton
FrameMitToggleButtons.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.5.5: Die Klasse JCheckBox
FrameMitCheckBoxes.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.5.6: Die Klassen JRadioButton und ButtonGroup
FrameMitRadioButtons.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.5.7: Die Klasse JComboBox
FrameMitComboBoxes.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.5.8: Die Klasse JList
FrameMitListe.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.5.10: Die Klassen JTextField und JPasswordField
FrameMitTextFeldern.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.5.11: Die Klasse JTextArea
FrameMitTextArea.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.5.12: Die Klasse JScrollPane
FrameMitScrollText.java Diese Klasse macht nichts anderes als ihr Name verspricht

6.5.13: Die Klasse JPanel
FrameMitPanels.java Diese Klasse macht nichts anderes als ihr Name verspricht
images.html Grafiken die vom Beispielprogramm benötigt werden

6.6.3: Die Klasse JDialog
TopLevelContainer.java Diese Klasse demonstriert die Anwendung der drei Fenster-Arten Frame, Window und Dialog

6.6.5: Die Klasse JToolBar
FrameMitMenuBar.java Diese Klasse macht nichts anderes als ihr Name verspricht
images.html Grafiken die vom Beispielprogramm benötigt werden

6.7: Übungsaufgaben
NotenEingabe.java Übungsaufgabe
VierButtonFrame.java Übungsaufgabe

7.1.1: Zufällige Grautöne als Hintergrund
Farbwechsel.java Diese Klasse erzeugt ein Swing-Fenster mit einem Button, der in der Lage ist die Hintergrundfarbe des Frames zufällig zu ändern

7.1.2: Ein interaktiver Bilderrahmen
Bilderrahmen.java Diese Klasse erzeugt ein Swing-Fenster mit einem Menue, einer Toolbar und einem Label mit Iconimage
images.html Grafiken die vom Beispielprogramm benötigt werden

7.2.2: Anonyme Klasse als Listener-Klasse
Farbwechsel2.java Diese Klasse ist eine Version unserer Farbwechsel- Klasse, allerdings mit anonymer Listener- Klasse

7.2.3: Container-Klasse als Listener-Klasse
Farbwechsel3.java Diese Klasse ist eine Version der Farbwechsel- Klasse, die nun selbst eine Listener- Klasse ist

7.2.4: Separate Klasse als Listener-Klasse
ButtonListener.java Diese Klasse ist ein Beispiel für eine eigenständige Listener- Klasse
Farbwechsel4.java Diese Klasse benutzt die Listener- Klasse ButtonListener

7.4: Listener-Interfaces und Adapter-Klassen
CloseToggleButtons.java Diese Klasse erzeugt ein Swing-Fenster mit zwei Toggle-Buttons, die zum Schließen des Fensters aktiviert sein müssen

7.5: Listener-Registrierung bei den Event-Quellen
LookAndFeel.java Diese Klasse erzeugt ein Swing-Fenster, das mit Buttons und Combo-Box sein Look and feel ändern kann

7.6: Auf die Plätze, fertig, los!
StoppuhrFrame.java Diese Klasse erzeugt ein Swing-Fenster mit Stoppuhrfunktion

7.7: Übungsaufgaben
EuroConverter.java Übungsaufgabe

8.1.1: Eine Digitalanzeige
DigitalAnzeige.java Diese Klasse kann eine Uhrzeit als Textzeile ausgeben

8.1.2: Eine neue Steuerung
SwingUhr.java Diese Klasse kontrolliert die DigitalAnzeige unserer Uhr

8.1.3: Nicht aus dem Rahmen fallen!
JavaUhr.java Diese Klasse erzeugt aus der DigitalAnzeige und der SwingUhr eine Uhr

8.2.3: Das gesamte Programm im Überblick
BMI.java Diese Klasse ermöglicht die einfache Berechnung des Body-Mass-Index

8.3.1: Design und Layout
Einstellungen.java Diese Klasse stellt einen Dialog mit verschiedenen Einstellungen für die Uhr dar

8.3.2: Wechsel des Look and feel
JavaUhr.java Diese Klasse ermöglicht uns, die SwingAnzeige in einen Frame einzupacken und grafisch darzustellen
SetzeLookAndFeel.java Diese Klasse ermöglicht dem Benutzer (in Verbindung mit dem Einstellungs-Dialog) das Setzen des Look and feel

9.1.3: Die abstrakte Klasse Graphics
ZeichenPanel.java Diese Klasse ist eine spezielle JPanel-Klasse mit verschiedenen Graphics- Methoden
Zeichnung.java Diese Klasse erzeugt ein Swing-Fenster mit einer Zeichnung

9.1.4: Ein einfaches Zeichenprogramm
PunkteVerbinden.java Diese Klasse erzeugt ein Swing-Fenster mit einem Zeichenbrett
Zeichenbrett.java Diese Klasse ist eine spezielle JPanel-Klasse für unser Zeichenbrett

10.1.1: Vom Frame zum Applet am Beispiel
AppletMitText.java Diese Klasse macht nichts anderes als ihr Name verspricht
FrameMitText.java Diese Klasse macht nichts anderes als ihr Name verspricht

10.1.2: Applet in HTML-Datei einbetten
AppletMitText.html HTML- Datei zur Einbettung eines Applets (Herunterladen durch "speichern unter...")

10.2: Die Methoden der Klasse JApplet
AppletMethoden.html Dieses Applet implementiert die Methoden init, start, stop und destroy
AppletMethoden.java Dieses Applet implementiert die Methoden init, start, stop und destroy

10.3.1: Auf die Plätze, fertig, los!
StoppuhrApplet.html Dieses Applet realisiert eine Stoppuhr
StoppuhrApplet.java Dieses Applet realisiert eine Stoppuhr

10.3.2: Punkte verbinden im Applet
PunkteVerbindenApplet.html Dieses Applet erzeugt mit Hilfe unserer Zeichenbrett-Klasse ein Zeichenbrett
PunkteVerbindenApplet.java Dieses Applet erzeugt mit Hilfe unserer Zeichenbrett-Klasse ein Zeichenbrett
Zeichenbrett.java Die Zeichenbrett-Klasse

10.4.1: Der Applet-Tag
ParameterApplet.html Dieses Applet bekommt die Beschriftungen des Border-Layouts als Parameter übergeben
ParameterApplet.java Dieses Applet bekommt die Beschriftungen des Border-Layouts als Parameter übergeben

10.4.2: Die Methode showDocument
GoogleButtonApplet.html Dieses Applet hat einen Button, der in der Lage ist, auf die vom Browser angezeigte Seite zu wechseln
GoogleButtonApplet.java Dieses Applet hat einen Button, der in der Lage ist, auf die vom Browser angezeigte Seite zu wechseln

10.5: Sicherheitseinschränkungen bei Applets
AppletMitBild.html Dieses Applet zeigt ein Bild- Label, funktioniert aber nur im Appletviewer
AppletMitBild.java Dieses Applet zeigt ein Bild- Label, funktioniert aber nur im Appletviewer
AppletMitBildBrowse.html Dieses Applet zeigt ebenfalls ein Bild- Label und funktioniert auch im Webbrowser
AppletMitBildBrowse.java Dieses Applet zeigt ebenfalls ein Bild- Label und funktioniert auch im Webbrowser
images.html Grafiken die vom Beispielprogramm benötigt werden

11.1.1: Erste Schritte
AnalogAnzeige.java Diese Klasse stellt eine Analoganzeige für das Uhrenprogramm zur Verfügung
AnalogAnzeige_1.java Diese Klasse ist eine Erweiterung der Klasse AnalogAnzeige
SwingUhr.java Diese Klasse stellt eine Uhr grafisch dar

11.1.2: Von Kreisen und Winkeln
AnalogAnzeige_2.java Diese Klasse ist eine Erweiterung der Klasse AnalogAnzeige_1

11.2.2: Layout in der Klasse SetzeDarstellung
SetzeDarstellung.java Diese Klasse ermöglicht dem Benutzer (in Verbindung mit dem Einstellungs-Dialog) das Setzen der Darstellung (analog/digital + Farben)

11.2.3: Vom Layout zur Anwendungslogik
JavaUhr.java Diese Klasse ist unser neues Hauptprogramm. Sie ermöglicht uns, die SwingAnzeige in einen Frame einzupacken und grafisch darzustellen

11.3.1: Schritt 1: Auf den Schirm
UhrenApplet.html Diese Klasse verwendet die SwingUhr, um die Uhrzeit in Form eines Applet darzustellen
UhrenApplet.java Diese Klasse verwendet die SwingUhr, um die Uhrzeit in Form eines Applet darzustellen

11.3.2: Schritt 2: Eine Frage der Einstellung
UhrenApplet.html Diese Klasse verwendet die SwingUhr, um die Uhrzeit in Form eines Applet darzustellen
UhrenApplet.java Diese Klasse verwendet die SwingUhr, um die Uhrzeit in Form eines Applet darzustellen

12.1: Ein einfaches Beispiel
ABCPrinter.java Diese Klasse gibt das Alphabet aus
ABCThread.java Diese Klasse gibt auch das Alphabet aus, ist jedoch ein Thread
MehrmalsP.java Diese Klasse führt zweimal hintereinander die run- Methode der ABCPrinter- Klasse aus
MehrmalsT.java Diese Klasse führt zweimal hintereinander die run- Methode der ABCThread- Klasse aus

12.2.1: Die Klasse Thread
MachMal.java Diese Klasse macht eine Sekunde lang gar nichts
TVProgAuslosung.java Diese Klasse lost zwischen versch. TV- Programmen
TVProgThread.java Diese Klasse stellt die Funktionalität unserer Programmauslosung als Thread dar

12.2.2: Das Interface Runnable
ABCRunnable.java Diese Klasse gibt das Alphabet aus und implementiert das Runnable- Interface
MehrmalsR.java Diese Klasse führt zweimal hintereinander die run- Methode der ABCRunnable- Klasse aus
TVProgAuslosungMitRunnable.java Diese Klasse lost zwischen versch. TV- Programmen
TVProgRunnable.java Diese Klasse stellt die Funktionalität unserer Programmauslosung dar und implementiert das Runnable- Interface

12.2.3: Threads vorzeitig beenden
StoppuhrMitThread.java Diese Klasse realisiert eine Stoppuhr mit sich aktualisierender Uhrzeit
UhrzeitThread.java Diese Klasse gibt Sekundenweise die aktuelle Uhrzeit zurück

12.4.1: Das Leser/Schreiber-Problem
Figur.java Diese abstrakte Klasse stellt eine Schachfigur dar
FigurenThreads1.java Diese Klasse demonstriert das Leser/ Schreiber- Problem
Leser.java Diese Klasse stellt unseren Leser dar
SchlechteFigur.java Diese Klasse führt bei Verwendung zu Problemen
Schreiber.java Diese Klasse stellt unseren Schreiber dar

12.4.2: Das Erzeuger/Verbraucher-Problem
EVTest1.java Diese Klasse ist ein Testprogramm zur Demonstration des Erzeuger/ Verbraucher- Problems
EVTest2.java Diese Klasse demonstriert die Lösung des Erzeuger/ Verbraucher- Problems
EVTest3.java Diese Klasse demonstriert die Deadlock- Situation
Erzeuger.java Diese Klasse erzeugt einen int- Wert
GuterWert.java In dieser Klasse ist das Problem gelöst
KlemmWert.java Diese Klasse führt bei Verwendung zum Deadlock
SchlechterWert.java Diese Klasse führt bei Verwendung zu Problemen
Verbraucher.java Diese Klasse "verbraucht" einen int- Wert
Wert.java Diese abstrakte Klasse repräsentiert einen int- Wert

12.5.1: Auf die Plätze, fertig, los!
AnzeigeThread.java Diese Klasse dient zur dynamischen Zeitanzeige
StoppuhrFrameThread.java Diese Klasse stellt eine inzwischen fast komplette SToppuhr zur Verfügung

12.5.2: Spielereien
AutomatApplet.html Diese Klasse ist ein einfacher Spielautomat
AutomatApplet.java Diese Klasse ist ein einfacher Spielautomat
ColorRunLabel.java Diese Klasse brauchen wir für die Label
KnopfListener.java Diese Klasse ist ein Listener der beim Druck auf einen Button eine veränderliche Label-Anzeige per Thread startet
StartStopButton.java Diese Klasse benötigen wir für die Knöpfe

12.6: Übungsaufgaben
KartenTerminal.java Übungsaufgabe
KonzertDaten.java Übungsaufgabe
UseTerminals.java Übungsaufgabe

13.2: Dateien und Verzeichnisse - Die Klasse File
Create.java Diese Klasse arbeitet mit File- Objekten

13.3.1: Einfache Reader- und Writer-Klassen
WriteToFile.java Diese Klasse schreibt etwas in eine Datei

13.3.2: Gepufferte Reader- und Writer-Klassen
BufferedWriteToFile.java Diese Klasse kann gepuffert etwas in eine Datei schreiben

13.3.3: Die Klasse StreamTokenizer
ZahlenSumme.java Diese Klasse liest von der Tastatur eine Zeichenfolge ein um sie dann zu zerlegen und dabei die Zahlenwerte aufzusummieren und die Wörter aneinanderzuhängen

13.3.4: Die Klasse PrintWriter
PrintWriting.java Diese Klasse kann mit Hilfe der print- Methode verschiedene Werte ausgeben

13.3.5.1: Was machen eigentlich die IOTools?
InTools.java Diese Klasse zeigt wie die IOTools funktionieren

13.3.5.2: Vereinfachte Konsoleneingabe in Java 5.0
Eingaben.java Konsolen-Eingabe unter Verwendung der Scanner-Klasse

13.4.1: Einige InputStream- und OutputStream-Klassen
DataWriteAndRead.java Diese Klasse speichert elementare Werte in einer Datei und liest sie wieder ein

13.4.2: Die Serialisierung und Deserialisierung von Objekten
Datensatz.java Diese Klasse demonstriert das Prinzip der Serialisierung
ObjectRead.java Diese Klasse schreibt Objekte
ObjectWrite.java Diese Klasse liest Objekte

14.1.2: IP-Adressen
DNSAnfrage.java Diese Klasse startet eine DNS- Anfrage

14.2.2: Ein einfacher Server
DateTimeProtokoll.java Diese Klasse stellt das Protokoll für unseren Zeitserver zur Verfügung
DateTimeServer.java Diese Klasse realisiert einen einfachen Zeit- Server

14.2.3: Ein einfacher Client
DateTimeClient.java Diese Klasse ist ein Client für unseren Zeitserver

14.2.4: Ein Server für mehrere Clients
DateTimeDienst.java Diese Klasse stellt das Protokoll für unseren DateTimeMultiServer zur Verfügung
DateTimeMultiServer.java Diese Klasse ist kann mehrere Clienst gleichzeitig bedienen

14.2.5: Ein Mehrzweck-Client
MyClient.java Diese Klasse ist ein Multifunktions- Client

14.3.1: Client/Server-Kommunikation über URLs
LiesURL.java Diese Klasse liest den Text eines Webdokuments

14.3.2: Netzwerkverbindungen in Applets
DateTimeApplet.java Diese Klasse ist ein Applet das Anfragen an unseren DateTimeMultiServer stellt

15.1: Wem die Stunde schlägt, Iteration 7
SwingUhr.java Diese Klasse steuert unsere "lebendige" SwingUhr

15.2: Wem die Stunde schlägt, Iteration 8
SocketKommunikation.java Diese Klasse stellt das Protokoll für die Kommunikation der Uhr mit einem Zeitserver zur Verfügung

15.2.2: Die Klasse Zeitserver
Zeitserver.java Diese Klasse realisiert den Zeitserver für unsere Uhr

15.2.3: Ein Testprogramm
Serverzeit.java Diese Klasse ist ein Testprogramm für unseren Zeitserver
WieSpaet.java Diese Klasse ist eine einfache Uhrsteuerung

15.3.2: Einige Vorbereitungen
EingestellteZeit.java Diese Klasse wird mit einer Zeit eingestellt und verwendet die interne Systemuhr, um neue Zeiten zu berechnen
SwingUhr.java Diese Klasse dient mit einigen Erweiterungen immer noch zur grafischen Darstellung der Uhr

15.3.3: Uhrenvergleich
Synchronisierer.java Diese Klasse synchronisiert zwei Uhren in einem vorgegebenen Zeittakt

15.3.4: Der Einstellungs-Dialog
JavaUhr.java Diese Klasse ist unser neues Hauptprogramm
SetzeZeitserver.java Diese Klasse ermöglicht in Verbindung mit dem Einstellungs-Dialog das Setzen der Darstellung (analog/digital + Farben)

  Letzte Bearbeitung: 17.08.2007 (R. Küstermann)