Class Zeichenfenster
- java.lang.Object
-
- Zeichenfenster
-
class Zeichenfenster extends Object
Die Klasse stellt ein Fenster mit einer Malfläche zur Verfügung, auf der Objekte der Klassen Rechteck, Kreis und Dreieck sowie Turtle dargestellt werden können. Die Zeichenfläche wird beim ersten Anlegen eines Zeichenobjekts automatisch nach dem Muster Singleton angelegt.- Version:
- 1.0
- Author:
- Albert Wiedemann
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static interface
Zeichenfenster.AktionsEmpfaenger
Interface für die Aktionsausführung.private class
Zeichenfenster.DreieckIntern
Objekte dieser Klasse verwalten ein Dreieck.private class
Zeichenfenster.EllipseIntern
Objekte dieser Klasse verwalten eine Ellipse.private class
Zeichenfenster.FigurenElement
Oberklasse für alle Elemente einer Figur (Figur, Turtle).private class
Zeichenfenster.FigurenElementEllipse
Ein elliptisches Figurenelement.private class
Zeichenfenster.FigurenElementPolygon
Ein Figurenelement begrenzt durch das angegebene Polygon.private class
Zeichenfenster.FigurenElementRechteck
Ein rechteckiges Figurenelement.(package private) class
Zeichenfenster.FigurIntern
Das Objekt dieser Klasse ist ein in der Gestalt definierbarer Akteur.(package private) class
Zeichenfenster.GrafikSymbol
Oberklasse für alle verfügbaren Grafiksymbole.private class
Zeichenfenster.RechteckIntern
Objekte dieser Klasse verwalten ein Rechteck.(package private) static class
Zeichenfenster.SymbolArt
Aufzählung der erzeugbaren Objektarten.(package private) class
Zeichenfenster.TextIntern
Objekte dieser Klasse verwalten einen Text.(package private) class
Zeichenfenster.TurtleIntern
Das Objekt dieser Klasse zeichnet den Weg der Turtle.
-
Field Summary
Fields Modifier and Type Field Description private ArrayList<Zeichenfenster.AktionsEmpfaenger>
aktionsEmpfänger
Feld aller zu zeichnenden Objekte.private ArrayList<Zeichenfenster.GrafikSymbol>
alleSymbole
Feld aller zu zeichnenden Objekte.private JFrame
fenster
Fenster für die Zeichenfläche.private JComponent
malfläche
Die eigentliche Darstellungskomponente.private JSlider
slider
Einsteller für die Taktrateprivate JButton
start
Start-Knopf für den Taktgeber.private JButton
stop
Stop-Knopf für den Taktgeber.private Timer
timer
Timerobjekt für die zentrale Zeitverwaltungprivate static Zeichenfenster
zeichenfläche
Einziges Objekt der Zeichenfläche.
-
Constructor Summary
Constructors Modifier Constructor Description private
Zeichenfenster()
Legt das Fenster und die Malfläche an
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static void
AktionsEmpfängerEintragen(Zeichenfenster.AktionsEmpfaenger neu)
Trägt einen neuen Aktionsempfänger ein.(package private) static void
AktionsEmpfängerEntfernen(Zeichenfenster.AktionsEmpfaenger alt)
Löscht einen Aktionsempfänger aus der Liste.(package private) static int
MalflächenBreiteGeben()
Meldet die aktuelle Breite der Malfläche.(package private) static int
MalflächenHöheGeben()
Meldet die aktuelle Höhe der Malfläche.private Zeichenfenster.GrafikSymbol
SymbolAnlegen(Zeichenfenster.SymbolArt art)
Erzeugt das neue Symbol tatsächlich.(package private) static Zeichenfenster.GrafikSymbol
SymbolErzeugen(Zeichenfenster.SymbolArt art)
Erzeugt ein neues darzustelledes Symbol.(package private) static void
TaktdauerSetzen(int dauer)
Ablaufgeschwindigkeit des Zeitgebers einstellen.(package private) static void
TaktgeberStarten()
Startet den Taktgeber.private void
TaktgeberStartenIntern()
Startet den Taktgeber.(package private) static void
TaktgeberStoppen()
Stoppt den Taktgeber.private void
TaktgeberStoppenIntern()
Stoppt den Taktgeber.
-
-
-
Field Detail
-
zeichenfläche
private static Zeichenfenster zeichenfläche
Einziges Objekt der Zeichenfläche.
-
fenster
private JFrame fenster
Fenster für die Zeichenfläche.
-
malfläche
private JComponent malfläche
Die eigentliche Darstellungskomponente.
-
stop
private JButton stop
Stop-Knopf für den Taktgeber.
-
start
private JButton start
Start-Knopf für den Taktgeber.
-
slider
private JSlider slider
Einsteller für die Taktrate
-
alleSymbole
private ArrayList<Zeichenfenster.GrafikSymbol> alleSymbole
Feld aller zu zeichnenden Objekte.
-
aktionsEmpfänger
private ArrayList<Zeichenfenster.AktionsEmpfaenger> aktionsEmpfänger
Feld aller zu zeichnenden Objekte.
-
timer
private Timer timer
Timerobjekt für die zentrale Zeitverwaltung
-
-
Method Detail
-
MalflächenBreiteGeben
static int MalflächenBreiteGeben()
Meldet die aktuelle Breite der Malfläche.
-
MalflächenHöheGeben
static int MalflächenHöheGeben()
Meldet die aktuelle Höhe der Malfläche.
-
AktionsEmpfängerEintragen
static void AktionsEmpfängerEintragen(Zeichenfenster.AktionsEmpfaenger neu)
Trägt einen neuen Aktionsempfänger ein.- Parameters:
neu
- der neue Aktionsempfänger
-
AktionsEmpfängerEntfernen
static void AktionsEmpfängerEntfernen(Zeichenfenster.AktionsEmpfaenger alt)
Löscht einen Aktionsempfänger aus der Liste.- Parameters:
alt
- der zu löschende Aktionsempfänger
-
SymbolErzeugen
static Zeichenfenster.GrafikSymbol SymbolErzeugen(Zeichenfenster.SymbolArt art)
Erzeugt ein neues darzustelledes Symbol. Die möglichen Symbole sind im Aufzählungstyp SymbolArt beschrieben.- Parameters:
art
- Art des zu erzeugenden Symbols.- Returns:
- Referenz auf das Delegate-Objekt.
-
TaktgeberStarten
static void TaktgeberStarten()
Startet den Taktgeber.
-
TaktgeberStoppen
static void TaktgeberStoppen()
Stoppt den Taktgeber.
-
TaktdauerSetzen
static void TaktdauerSetzen(int dauer)
Ablaufgeschwindigkeit des Zeitgebers einstellen.- Parameters:
dauer
- : Angabe in Millisekunden
-
SymbolAnlegen
private Zeichenfenster.GrafikSymbol SymbolAnlegen(Zeichenfenster.SymbolArt art)
Erzeugt das neue Symbol tatsächlich.- Parameters:
art
- Art des zu erzeugenden Symbols.- Returns:
- Referenz auf das Delegate-Objekt.
-
TaktgeberStartenIntern
private void TaktgeberStartenIntern()
Startet den Taktgeber.
-
TaktgeberStoppenIntern
private void TaktgeberStoppenIntern()
Stoppt den Taktgeber.
-
-