All Packages Class Hierarchy This Package Previous Next Index
Class edu.tucz.via.ListLayout
java.lang.Object
|
+----edu.tucz.via.GraphicalObject
|
+----edu.tucz.via.CompositeGraphical
|
+----edu.tucz.via.ListLayout
- public class ListLayout
- extends CompositeGraphical
Diese Klasse stellt ein Layout für eine einfach verkettete Liste dar. Mit der Erzeugung werden
automatisch ein KopfKnoten und ein EndKnoten erzeugt.
- Version:
- 1.0
- Author:
- Chris Hübsch
-
k0
- Der KopfKnoten, der den Beginn der Liste markiert.
-
kn
- Der EndKnoten, der das Ende der Liste darstellt.
-
knoten
- Ein Vektor, der alle Knoten der Liste enthält.
-
pfeile
- Ein Vektor, der alle Pfeile der Liste enthält.
-
ListLayout(Location)
- Erzeugt eine neues ListLayout an der angegebenen Position.
-
append(Knoten)
- Hängt einen Knoten an die Liste an.
-
draw(Graphics)
- Zeichnet alle Elemente des Layouts.
-
exactLayout(Dimension)
- Ordnet die Elemente der List neu an.
-
getAllEffected(Knoten)
- Ermittelt alle Elemente, die vom angegebenen Knoten abhängig sind.
-
getBoundingRect()
- Sollte das Rechteck zurückliefern, daß das gesamte Layout umschließt.
-
getLocation()
- Ermittelt die Position der Liste.
-
insertAt(Knoten, int)
- Fügt einen Knoten an angegebener Stelle in die Liste ein.
-
layout(Dimension)
- Führt für alle Knoten und Pfeile ein layout aus.
-
moveTo(Location)
- Bewegt den KopfKnoten der Liste an die angegebene Position.
knoten
public Vector knoten
- Ein Vektor, der alle Knoten der Liste enthält.
pfeile
public Vector pfeile
- Ein Vektor, der alle Pfeile der Liste enthält.
k0
public KopfKnoten k0
- Der KopfKnoten, der den Beginn der Liste markiert.
kn
public EndKnoten kn
- Der EndKnoten, der das Ende der Liste darstellt.
ListLayout
public ListLayout(Location at)
- Erzeugt eine neues ListLayout an der angegebenen Position. An dieser Position wird ein
KopfKnoten erzeugt und 100 logische Einheiten weiter rechts ein EndKnoten. Diese beiden
Knoten werden durch einen einfachen Pfeil miteinander verbunden. Beide Knoten werden in
den Vector knoten eingefügt. Entsprechend der Pfeil in pfeile.
- Parameters:
- at - die Position, auf die die Liste beginnen soll
exactLayout
public void exactLayout(Dimension canvasSize)
- Ordnet die Elemente der List neu an. Dabei werden, ausgehend vom StartKnoten, jeweils mit einem
Abstand von 50 logischen Einheiten (zwischen den Kanten der Knoten), die Knoten horizontal
angeordnet. Danach werden die Pfeile angepaßt.
- Parameters:
- canvasSize - die Abmessung des Fensters, für das das Layout gemacht wird
- Overrides:
- exactLayout in class CompositeGraphical
layout
public void layout(Dimension canvasSize)
- Führt für alle Knoten und Pfeile ein layout aus. Die Positionen der Knoten werden
jedoch nicht verändert. Außerdem werden die Pfeile so angepaßt, daß sie an die "richtigen"
Stellen zeigen.
- Parameters:
- canvasSize - die Abmessung des Fensters, für das das Layout gemacht wird
- Overrides:
- layout in class GraphicalObject
draw
public void draw(Graphics g)
- Zeichnet alle Elemente des Layouts. Nachdem alle Knoten gezeichnet wurden, werden auch die
Pfeile gezeichnet.
- Parameters:
- g - der Kontext, auf den gezeichnet werden soll
- Overrides:
- draw in class GraphicalObject
append
public void append(Knoten k)
- Hängt einen Knoten an die Liste an. Der Knoten wird vor dem EndKnoten eingefügt. Die
entsprechenden Pfeile werden erzeugt bzw. "umgebogen".
- Parameters:
- k - der einzufügende Knoten
insertAt
public void insertAt(Knoten k,
int i)
- Fügt einen Knoten an angegebener Stelle in die Liste ein. Außerdem werden die Pfeile
angepaßt oder neu erzeugt. Die Position 0 ist der erste Knoten nach dem KopfKnoten.
- Parameters:
- k - der einzufügende Knoten
getAllEffected
public Enumeration getAllEffected(Knoten connectedTo)
- Ermittelt alle Elemente, die vom angegebenen Knoten abhängig sind.
Abhängige Elemente sind die Pfeile, die mit dem Knoten connectdTo verbunden sind
und die benachbarten Knoten.
- Parameters:
- connectedTo - der Knoten, zu dem die abhängigen Knoten ermittelt werden sollen.
- Overrides:
- getAllEffected in class CompositeGraphical
moveTo
public void moveTo(Location to)
- Bewegt den KopfKnoten der Liste an die angegebene Position. Die restlichen Elemente werden
nicht mit bewegt.
- Parameters:
- to - die neue Position des Kopfes der Liste.
- Overrides:
- moveTo in class CompositeGraphical
getLocation
public Location getLocation()
- Ermittelt die Position der Liste. Die Position der Liste wird durch die Position des
KopfKnotens definiert.
- Returns:
- die Position des Kopfknotens
- Overrides:
- getLocation in class CompositeGraphical
getBoundingRect
public Rectangle getBoundingRect()
- Sollte das Rechteck zurückliefern, daß das gesamte Layout umschließt.
Noch nicht implementiert!
- Returns:
- das Rechteck, das alle Elemente der Liste enthält
- Overrides:
- getBoundingRect in class GraphicalObject
All Packages Class Hierarchy This Package Previous Next Index