All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class edu.tucz.via.ArrayLayout

java.lang.Object
   |
   +----edu.tucz.via.GraphicalObject
           |
           +----edu.tucz.via.CompositeGraphical
                   |
                   +----edu.tucz.via.ArrayLayout

public class ArrayLayout
extends CompositeGraphical
Dieses Layout richtet die Knoten in einer Rechteckigen Struktur aus. Es werden keine Pfeile verwendet. Es ist mit dem GridLayout des AWT vergleichbar.

Version:
1.01
Author:
Chris Hübsch

Variable Index

 o knoten
Die Knoten werden in einem Vector organisiert.

Constructor Index

 o ArrayLayout(Location, int, int)
Konstruktor zu Erzeugen eines neuen ArrayLayouts.

Method Index

 o addItem(Knoten)
Fügt einen Knoten dem ArrayLayout hinzu.
 o draw(Graphics)
Zeichnet alle Knoten.
 o exactLayout(Dimension)
Die Knoten werden gemäß des Layoutes ausgerichtet.
 o getBoundingRect()
Ermittelt das Rechteck, das das gesamte Layout umschließt.
 o layout(Dimension)
Alle Knoten werden ausgerichtet.
 o removeItem(Knoten)
Entfernt einen Knoten aus dem ArrayLayout.

Variables

 o knoten
  public Vector knoten
Die Knoten werden in einem Vector organisiert. Obwohl der Zugriff frei möglich ist, sollte er möglichst vermieden werden. Aber um eine leichtere Programmierung und schnellere Ausführung zu ermöglichen, ist es so, wie es ist.

Constructors

 o ArrayLayout
  public ArrayLayout(Location at,
                     int b,
                     int h)
Konstruktor zu Erzeugen eines neuen ArrayLayouts.

Parameters:
at - die Position des Elemetes in der Linken oberen Ecke.
b - die Breite des Arrays
h - die Höhe des Arrays.

Methods

 o exactLayout
  public void exactLayout(Dimension canvasSize)
Die Knoten werden gemäß des Layoutes ausgerichtet. Dabei werden die Knoten spaltenweise von links oben nach rechts unten angeordnet. Dabei wird die Größe des Rasters so gewählt, daß die größten Knoten ohne Probleme angezeigt werden können.

Parameters:
canvasSize - die Größe des Canvas, auf das gezeichnet werden soll
Overrides:
exactLayout in class CompositeGraphical
 o layout
  public void layout(Dimension canvasSize)
Alle Knoten werden ausgerichtet. Es wird jedoch die Position der Knoten nicht verändert. Es werden legiglich die logischen Koordinaten in physische umgerechnet.

Parameters:
canvasSize - die Ausdehnung des Canvas, für das die Umrechnung erfolgen soll
Overrides:
layout in class GraphicalObject
 o draw
  public void draw(Graphics g)
Zeichnet alle Knoten.

Parameters:
g - der Graphics, auf den gezeichnet werden soll.
Overrides:
draw in class GraphicalObject
 o addItem
  public void addItem(Knoten k)
Fügt einen Knoten dem ArrayLayout hinzu. Der Knoten wird am Ende angefügt. Es wird kein Layouting für den Knoten gemacht und auch nicht neu gezeichnet.

Parameters:
k - der Knoten, der angefügt werden soll.
 o removeItem
  public void removeItem(Knoten k)
Entfernt einen Knoten aus dem ArrayLayout. Es wird kein Neuzeichnen veranlaßt! Auch bleiben die Positionen der andern Knoten unberührt.

Parameters:
k - der Knoten der enfernt werden soll.
 o getBoundingRect
  public Rectangle getBoundingRect()
Ermittelt das Rechteck, das das gesamte Layout umschließt. Es wird bei Clipping Operationen verwendet.
Noch nicht implementiert!

Overrides:
getBoundingRect in class GraphicalObject

All Packages  Class Hierarchy  This Package  Previous  Next  Index