Class CellBox

All Implemented Interfaces:
Iterable<Box>

public class CellBox extends ChildBox
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.

  • Constructor Details

    • CellBox

      public CellBox()
    • CellBox

      public CellBox(Box child)
  • Method Details

    • childWidth

      @Getter public int childWidth()
    • childHeight

      @Getter public int childHeight()
    • width

      @Setter public CellBox width(double width)
      Description copied from class: Box
      Setzt die Breite der Box in Pixel.
      Overrides:
      width in class Box
      Parameters:
      width - Die Breite der Box 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(..).
    • height

      @Setter public CellBox height(double height)
      Description copied from class: Box
      Setzt die Höhe der Box in Pixel.
      Overrides:
      height in class Box
      Parameters:
      height - Die Höhe der Box 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(..).
    • hAlign

      @Setter public CellBox hAlign(HAlign 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

      @Setter public CellBox vAlign(VAlign 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: Box
      Berechnet 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:
      calculateDimension in class Box
    • calculateAnchors

      protected void calculateAnchors()
      Description copied from class: Box
      Berechnet 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:
      calculateAnchors in class Box