Package pi.graphics.boxes
Class ChildsBox<T extends Box>
java.lang.Object
pi.graphics.boxes.Box
pi.graphics.boxes.ChildsBox<T>
- Direct Known Subclasses:
PaddingBox
Eine Box, die mehrere untergeordnete Kinder-Boxen enthält und alle
Kinder-Boxen werden in eine
CellBox eingebettet.- Since:
- 0.42.0
- Author:
- Josef Friedrich
-
Field Summary
Fields 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 TypeMethodDescriptionvoidprotected voidBerechnet rekursiv alle Ankerpunkte (linkes oberes Eck) der untergeordneten Kinder-Boxen.protected voidBerechnet rekursiv die Abmessung (die Höhe und Breite) der eigenen Box.forEachCell(Consumer<PopulatedCell<T>> consumer) forEachChild(Consumer<T> consumer) intGibt die Anzahl an Kinder-Boxen zurück.Gibt einen vorkonfiguriertenToStringFormatteraus.Methods inherited from class pi.graphics.boxes.Box
anchor, debug, disable, disabled, enable, height, iterator, measure, measureAnchors, measureDimension, remeasure, render, toggle, width, x, yMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
ChildsBox
- Since:
- 0.42.0
-
-
Method Details
-
addChild
-
forEachChild
-
forEachCell
-
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.
-
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
-
toStringFormatter
Description copied from class:BoxGibt einen vorkonfiguriertenToStringFormatteraus.- Overrides:
toStringFormatterin classBox
-