Package pi.graphics.boxes_ng
Class BorderBox
java.lang.Object
pi.graphics.boxes_ng.Box
pi.graphics.boxes_ng.ChildBox
pi.graphics.boxes_ng.BorderBox
Legt einen Rahmen um eine enthaltene Kind-Box.
- Since:
- 0.40.0
-
Field Summary
Fields inherited from class pi.graphics.boxes_ng.Box
childs, definedHeight, definedWidth, disabled, height, measureDimensionTwice, parent, pixelPerMeter, supportsDefinedDimension, width, x, y -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidBerechnet rekursiv alle Ankerpunkte (linkes unteres Eck) der untergeordneten Kinder-Boxen.protected voidBerechnet rekursiv die Abmessung (die Höhe und Breite) der eigenen Box.Setzt die Farbe der Linie in Pixel.Setzt die Farbe der Linie in Pixel.pixelPerMeter(double pixelPerMeter) Setzt den Umrechnungsfaktor für die Darstellung von Metern in Pixel und passt zusätzlich die Rahmendicke an.intGibt die Linienstärke des Rahmens in Pixeln zurück.thickness(double thickness) Setzt die Dicke der Linie in Pixel.thicknessMeter(double thickness) Setzt die Linienstärke des Rahmens in Metern.Methods inherited from class pi.graphics.boxes_ng.ChildBox
addChild, numberOfChildsMethods inherited from class pi.graphics.boxes_ng.Box
anchor, anchorMeter, debug, disable, disabled, enable, hasDefiniedDimension, hasOnlyDefiniedHeight, hasOnlyDefiniedWidth, height, height, heightMeter, heightMeter, iterator, measure, measureAnchors, measureDimension, pixelPerMeter, remeasure, render, render, toggle, toString, toStringFormatter, updateValue, width, width, widthMeter, widthMeter, x, x, xMeter, xMeter, y, y, yMeter, yMeter, yTopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
BorderBox
Erzeugt einen neuen Rahmen durch die Angabe der enthaltenen Kind-Box.- Parameters:
child- Die Kind-Box, die umrahmt werden soll.- Since:
- 0.40.0
-
-
Method Details
-
thickness
public int thickness()Gibt die Linienstärke des Rahmens in Pixeln zurück.- Returns:
- Die Linienstärke des Rahmens in Pixeln.
- Since:
- 0.40.0
-
thickness
Setzt die Dicke der Linie in Pixel. Ist die Linienfarbe noch nicht festgelegt worden, so wird auf schwarz gesetzt.- Parameters:
thickness- Die Dicke der Linie in Pixel.- 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(..). - Since:
- 0.40.0
-
thicknessMeter
Setzt die Linienstärke des Rahmens in Metern.- Parameters:
thickness- Die Linienstärke des Rahmens in Metern.- Returns:
- Eine Referenz auf die eigene Instanz der Box.
- Since:
- 0.53.0
-
color
Setzt die Farbe der Linie in Pixel.Ist die Liniendicke noch nicht festgelegt worden, so wird sie auf 1 Pixel gesetzt.
- Parameters:
color- Die Farbe der Linie in Pixel.- 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(..). - Since:
- 0.40.0
-
color
Setzt die Farbe der Linie in Pixel.Ist die Liniendicke noch nicht festgelegt worden, so wird sie auf 1 Pixel gesetzt.
- Parameters:
color- Ein Farbname (siehe Auflistung) oder eine Farbe in hexadezimaler Codierung (z.B.#ff0000).- 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(..).
-
pixelPerMeter
Setzt den Umrechnungsfaktor für die Darstellung von Metern in Pixel und passt zusätzlich die Rahmendicke an.- Overrides:
pixelPerMeterin classBox- Parameters:
pixelPerMeter- Die Anzahl der Pixel pro Meter. Der Wert muss größer als0sein.- Returns:
- Eine Referenz auf die eigene Instanz der Box.
- Since:
- 0.53.0
-
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 unteres 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
-