Class GridBox<T extends Box>

All Implemented Interfaces:
Iterable<Box>
Direct Known Subclasses:
TextTableBox

public class GridBox<T extends Box> extends PaddingBox<T>
  • Constructor Details

    • GridBox

      public GridBox(Box... childs)
  • Method Details

    • columns

      public GridBox<T> columns(int columns)
    • columnCount

      public int columnCount()
      Gibt die Spaltenanzahl zurück.
      Returns:
      Die Spaltenanzahl.
    • rowCount

      public int rowCount()
      Gibt die Reihenanzahl zurück.
      Returns:
      Die Reihenanzahl.
    • buildGrid

      protected void buildGrid()
    • getRow

      public List<CellBox> getRow(int row)
    • forEachRowBox

      public GridBox<T> forEachRowBox(int row, Consumer<PopulatedCell<T>> consumer)
    • getMaxHeightOfRow

      public int getMaxHeightOfRow(int row)
    • getColumn

      public List<CellBox> getColumn(int column)
    • forEachColumnBox

      public GridBox<T> forEachColumnBox(int column, Consumer<PopulatedCell<T>> consumer)
    • forBox

      public GridBox<T> forBox(int row, int column, Consumer<PopulatedCell<T>> consumer)
    • getMaxWidthOfColumn

      public int getMaxWidthOfColumn(int column)
    • 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;
       }
       
       
      Overrides:
      calculateDimension in class ChildsBox<T extends Box>
    • calculateAnchors

      protected void calculateAnchors()
      Description copied from class: Box
      Berechnet 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;
           }
       }
       
       
      Overrides:
      calculateAnchors in class ChildsBox<T extends Box>
    • toStringFormatter

      public ToStringFormatter toStringFormatter()
      Description copied from class: Box
      Gibt einen vorkonfigurierten ToStringFormatter aus.
      Overrides:
      toStringFormatter in class PaddingBox<T extends Box>
    • toString

      public String toString()
      Overrides:
      toString in class Object