Class FormatLayout

java.lang.Object
org.jfree.layout.FormatLayout
All Implemented Interfaces:
LayoutManager, Serializable

public class FormatLayout extends Object implements LayoutManager, Serializable
A layout manager that spaces components over six columns in seven different formats.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      For serialization.
      See Also:
    • C

      public static final int C
      A useful constant representing layout format 1.
      See Also:
    • LC

      public static final int LC
      A useful constant representing layout format 2.
      See Also:
    • LCB

      public static final int LCB
      A useful constant representing layout format 3.
      See Also:
    • LCLC

      public static final int LCLC
      A useful constant representing layout format 4.
      See Also:
    • LCLCB

      public static final int LCLCB
      A useful constant representing layout format 5.
      See Also:
    • LCBLC

      public static final int LCBLC
      A useful constant representing layout format 6.
      See Also:
    • LCBLCB

      public static final int LCBLCB
      A useful constant representing layout format 7.
      See Also:
    • rowFormats

      private int[] rowFormats
      The layout format for each row.
    • rowGap

      private int rowGap
      The gap between the rows.
    • columnGaps

      private int[] columnGaps
      The gaps between the columns (gap[0] is the gap following column zero).
    • rowHeights

      private int[] rowHeights
      Working array for recording the height of each row.
    • totalHeight

      private int totalHeight
      The total height of the layout.
    • columnWidths

      private int[] columnWidths
      Working array for recording the width of each column.
    • totalWidth

      private int totalWidth
      The total width of the layout.
    • columns1and2Width

      private int columns1and2Width
      Combined width of columns 1 and 2.
    • columns4and5Width

      private int columns4and5Width
      Combined width of columns 4 and 5.
    • columns1to4Width

      private int columns1to4Width
      Combined width of columns 1 to 4.
    • columns1to5Width

      private int columns1to5Width
      Combined width of columns 1 to 5.
    • columns0to5Width

      private int columns0to5Width
      Combined width of columns 0 to 5.
  • Constructor Details

    • FormatLayout

      public FormatLayout(int rowCount, int[] rowFormats)
      Constructs a new layout manager that can be used to create input forms. The layout manager works by arranging components in rows using six columns (some components will use more than one column).

      Any component can be added, but I think of them in terms of Labels, Components, and Buttons. The formats available are: C, LC, LCB, LCLC, LCLCB, LCBLC or LCBLCB.

      C 1 component in this row (spread across all six columns).
      LC 2 components, a label in the 1st column, and a component using the remaining 5 columns).
      LCB 3 components, a label in the 1st column, a component spread across the next 4, and a button in the last column.
      LCLC 4 components, a label in column 1, a component in 2-3, a label in 4 and a component in 5-6.
      LCLCB 5 components, a label in column 1, a component in 2-3, a label in 4, a component in 5 and a button in 6.
      LCBLC 5 components, a label in column 1, a component in 2, a button in 3, a label in 4, a component in 5-6.
      LCBLCB 6 components, one in each column.

      Columns 1 and 4 expand to accommodate the widest label, and 3 and 6 to accommodate the widest button.

      Each row will contain the number of components indicated by the format. Be sure to specify enough row formats to cover all the components you add to the layout.

      Parameters:
      rowCount - the number of rows.
      rowFormats - the row formats.
  • Method Details

    • preferredLayoutSize

      public Dimension preferredLayoutSize(Container parent)
      Returns the preferred size of the component using this layout manager.
      Specified by:
      preferredLayoutSize in interface LayoutManager
      Parameters:
      parent - the parent.
      Returns:
      the preferred size of the component.
    • minimumLayoutSize

      public Dimension minimumLayoutSize(Container parent)
      Returns the minimum size of the component using this layout manager.
      Specified by:
      minimumLayoutSize in interface LayoutManager
      Parameters:
      parent - the parent.
      Returns:
      the minimum size of the component
    • layoutContainer

      public void layoutContainer(Container parent)
      Performs the layout of the container.
      Specified by:
      layoutContainer in interface LayoutManager
      Parameters:
      parent - the parent.
    • updateC

      protected void updateC(int rowIndex, Dimension d0)
      Processes a row in 'C' format.
      Parameters:
      rowIndex - the row index.
      d0 - dimension 0.
    • updateLC

      protected void updateLC(int rowIndex, Dimension d0, Dimension d1)
      Processes a row in 'LC' format.
      Parameters:
      rowIndex - the row index.
      d0 - dimension 0.
      d1 - dimension 1.
    • updateLCB

      protected void updateLCB(int rowIndex, Dimension d0, Dimension d1, Dimension d2)
      Processes a row in 'LCB' format.
      Parameters:
      rowIndex - the row index.
      d0 - dimension 0.
      d1 - dimension 1.
      d2 - dimension 2.
    • updateLCLC

      protected void updateLCLC(int rowIndex, Dimension d0, Dimension d1, Dimension d2, Dimension d3)
      Processes a row in 'LCLC' format.
      Parameters:
      rowIndex - the row index.
      d0 - dimension 0.
      d1 - dimension 1.
      d2 - dimension 2.
      d3 - dimension 3.
    • updateLCBLC

      protected void updateLCBLC(int rowIndex, Dimension d0, Dimension d1, Dimension d2, Dimension d3, Dimension d4)
      Processes a row in 'LCBLC' format.
      Parameters:
      rowIndex - the row index.
      d0 - dimension 0.
      d1 - dimension 1.
      d2 - dimension 2.
      d3 - dimension 3.
      d4 - dimension 4.
    • updateLCLCB

      protected void updateLCLCB(int rowIndex, Dimension d0, Dimension d1, Dimension d2, Dimension d3, Dimension d4)
      Processes a row in 'LCLCB' format.
      Parameters:
      rowIndex - the row index.
      d0 - dimension 0.
      d1 - dimension 1.
      d2 - dimension 2.
      d3 - dimension 3.
      d4 - dimension 4.
    • updateLCBLCB

      protected void updateLCBLCB(int rowIndex, Dimension d0, Dimension d1, Dimension d2, Dimension d3, Dimension d4, Dimension d5)
      Processes a row in 'LCBLCB' format.
      Parameters:
      rowIndex - the row index.
      d0 - dimension 0.
      d1 - dimension 1.
      d2 - dimension 2.
      d3 - dimension 3.
      d4 - dimension 4.
      d5 - dimension 5.
    • complete

      public void complete()
      Finishes of the processing.
    • splitLayout

      private boolean splitLayout()
      Returns true if this layout involves a split into two sections.
      Returns:
      true if this layout involves a split into two sections.
    • addLayoutComponent

      public void addLayoutComponent(Component comp)
      Not used.
      Parameters:
      comp - the component.
    • removeLayoutComponent

      public void removeLayoutComponent(Component comp)
      Not used.
      Specified by:
      removeLayoutComponent in interface LayoutManager
      Parameters:
      comp - the component.
    • addLayoutComponent

      public void addLayoutComponent(String name, Component comp)
      Not used.
      Specified by:
      addLayoutComponent in interface LayoutManager
      Parameters:
      name - the component name.
      comp - the component.
    • removeLayoutComponent

      public void removeLayoutComponent(String name, Component comp)
      Not used.
      Parameters:
      name - the component name.
      comp - the component.