Package pi.graphics.boxes
Class CellBox
java.lang.Object
pi.graphics.boxes.Box
pi.graphics.boxes.CellBox
Eine äußere (größere) Behälter-Box, die eine kleinere (innere) Box
enthält.
Die Methoden legen (height(int) und width(int)) die
Abmessung der äußeren Box fest. Ist die innere Box jedoch größer als die
äußere, so nimmt die äußere Box die Größe der inneren Box an. Die innere Box
kann horizontal und vertikal ausgerichtet werden.
-
Field Summary
FieldsFields inherited from class pi.graphics.boxes.Box
childs, definedHeight, definedWidth, disabled, height, measureDimensionTwice, parent, supportsDefinedDimension, width, x, y -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidFügt eine Kind-Box hinzu.protected voidBerechnet rekursiv alle Ankerpunkte (linkes oberes Eck) der untergeordneten Kinder-Boxen.protected voidBerechnet rekursiv die Abmessung (die Höhe und Breite) der eigenen Box.intintheight(int height) intGibt die Anzahl an Kinder-Boxen zurück.toString()width(int width) Methods inherited from class pi.graphics.boxes.Box
anchor, debug, disable, disabled, enable, iterator, measure, measureAnchors, measureDimension, remeasure, render, toggle, toStringFormatter, x, yMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
child
Die Kind-Box, dieser übergeordneten Box.
-
-
Constructor Details
-
CellBox
public CellBox() -
CellBox
-
-
Method Details
-
childWidth
-
childHeight
-
width
-
height
-
hAlign
- Returns:
- Eine Referenz auf die eigene Instanz der Box, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Box durch
aneinander gekettete Setter festgelegt werden können, z. B.
box.x(..).y(..).
-
vAlign
- Returns:
- Eine Referenz auf die eigene Instanz der Box, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Box durch
aneinander gekettete Setter festgelegt werden können, z. B.
box.x(..).y(..).
-
calculateDimension
protected void calculateDimension()Description copied from class:BoxBerechnet rekursiv die Abmessung (die Höhe und Breite) der eigenen Box.Single-Child-Code-Beispiel
protected void calculateDimension() { width = child.width + 2 * margin; height = child.height + 2 * margin; }Multiple-Child-Code-Beispiel
protected void calculateDimension() { int maxWidth = 0; for (Box child : childs) { if (child.width > maxWidth) { maxWidth = child.width; } height += child.height; } width = maxWidth; }- Specified by:
calculateDimensionin classBox
-
calculateAnchors
protected void calculateAnchors()Description copied from class:BoxBerechnet rekursiv alle Ankerpunkte (linkes oberes Eck) der untergeordneten Kinder-Boxen. Die inneren Blattboxen brauchen diese Methode nicht zu implementieren.Single-Child-Code-Beispiel
protected void calculateAnchors() { child.x = x + margin; child.y = y + margin; }Multiple-Child-Code-Beispiel
protected void calculateAnchors() { int yCursor = y; for (Box child : childs) { child.x = x; child.y = yCursor; yCursor += child.height; } }- Specified by:
calculateAnchorsin classBox
-
toString
-
addChild
Fügt eine Kind-Box hinzu.Die Zellbox wird dabei als Elternbox der Kind-Box gesetzt.
- Parameters:
child- Die Kind-Box.
-
numberOfChilds
public int numberOfChilds()Description copied from class:BoxGibt die Anzahl an Kinder-Boxen zurück.- Specified by:
numberOfChildsin classBox- Returns:
- Die Anzahl an Kinder-Boxen.
-