Class Grid


  • public final class Grid
    extends Object
    Holds components in a grid. Does most of the logic behind the layout manager.
    • Constructor Detail

      • Grid

        public Grid​(ContainerWrapper container,
                    LC lc,
                    AC rowConstr,
                    AC colConstr,
                    Map<? extends ComponentWrapper,​CC> ccMap,
                    ArrayList<LayoutCallback> callbackList)
        Constructor.
        Parameters:
        container - The container that will be laid out.
        lc - The form flow constraints.
        rowConstr - The rows specifications. If more cell rows are required, the last element will be used for when there is no corresponding element in this array.
        colConstr - The columns specifications. If more cell rows are required, the last element will be used for when there is no corresponding element in this array.
        ccMap - The map containing the parsed constraints for each child component of parent. Will not be altered. Can have null CC which will use a common cached one.
        callbackList - A list of callbacks or null if none. Will not be altered.
    • Method Detail

      • invalidateContainerSize

        public void invalidateContainerSize()
        If the container (parent) that this grid is laying out has changed its bounds, call this method to clear any cached values min/pref/max sizes of the components and rows/columns.

        If any component can have changed cell the grid needs to be recreated.

      • layout

        public boolean layout​(int[] bounds,
                              UnitValue alignX,
                              UnitValue alignY,
                              boolean debug)
        Does the actual layout. Uses many values calculated in the constructor.
        Parameters:
        bounds - The bounds to layout against. Normally that of the parent. [x, y, width, height].
        alignX - The alignment for the x-axis. Can be null.
        alignY - The alignment for the y-axis. Can be null.
        debug - If debug information should be saved in debugRects.
        Returns:
        If the layout has changed the preferred size and there is need for a new layout. This can happen if one or more components in the grid has a content bias according to ComponentWrapper.getContentBias().
        Since:
        5.0
      • paintDebug

        public void paintDebug()
      • getWidth

        public final int[] getWidth()
      • getWidth

        public final int[] getWidth​(int refHeight)
      • getHeight

        public final int[] getHeight()
      • getHeight

        public final int[] getHeight​(int refWidth)