Skip navigation links
acm.gui

Class TableLayout

    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static int BOTH
      Resize component in both directions
      static int BOTTOM
      Align table vertically at the bottom of its container
      static int CENTER
      Center table in the container
      static int FILL
      Expand table to fill its container
      static int HORIZONTAL
      Resize component in horizontal direction only
      static int LEFT
      Align table horizontally at the left of its container
      static int NONE
      Do not resize component
      static int RIGHT
      Align table horizontally at the right of its container
      static int TOP
      Align table vertically at the top of its container
      static int VERTICAL
      Resize component in vertical direction only
    • Constructor Summary

      Constructors 
      Constructor and Description
      TableLayout()
      Creates a new TableLayout object with no limits on the number of rows and columns.
      TableLayout(int rows, int columns)
      Creates a new TableLayout object with the specified number of rows and columns.
      TableLayout(int rows, int columns, int hgap, int vgap)
      Creates a new TableLayout object with the specified row count, column count, alignment, horizontal gap, and vertical gap.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      void addLayoutComponent(java.awt.Component comp, java.lang.Object constraints)
      Adds a component to the layout.
      void addLayoutComponent(java.lang.String constraints, java.awt.Component comp)
      Adds a component to the layout.
      int getColumnCount()
      Returns the number of columns in the table.
      TableConstraints getConstraints(java.awt.Component comp)
      Returns a copy of the constraints requested for the specified component.
      int getDefaultFill()
      Returns the default fill parameter for components in the table.
      int getHgap()
      Returns the horizontal gap between components.
      int getHorizontalAlignment()
      Returns the horizontal alignment for the table.
      float getLayoutAlignmentX(java.awt.Container target)
      Returns the alignment along the x-axis as described in the LayoutManager2 interface.
      float getLayoutAlignmentY(java.awt.Container target)
      Returns the alignment along the y-axis as described in the LayoutManager2 interface.
      int getRowCount()
      Returns the number of rows in the table.
      int getVerticalAlignment()
      Returns the vertical alignment for the table.
      int getVgap()
      Returns the vertical gap between components.
      void invalidateLayout(java.awt.Container target)
      Indicates that the layout is no longer valid.
      boolean isStrictGridBagModel()
      Returns true if this layout manager is treating multirow cells exactly as GridBagLayout does.
      void layoutContainer(java.awt.Container target)
      Lays out the components in the target container.
      protected java.awt.GridBagConstraints lookupConstraints(java.awt.Component comp)
      Returns the constraints object for the specified component.
      protected TableConstraints lookupConstraints(java.awt.Component comp, java.awt.Container target)
      Returns the TableConstraints object actually applied to the specified component when it is laid out in the target container.
      java.awt.Dimension maximumLayoutSize(java.awt.Container target)
      Calculates the maximum size for the FrameLayout component when laid out in the target container.
      java.awt.Dimension minimumLayoutSize(java.awt.Container target)
      Calculates the minimum size for the FrameLayout component when laid out in the target container.
      java.awt.Dimension preferredLayoutSize(java.awt.Container target)
      Calculates the preferred size for the FrameLayout component when laid out in the target container.
      void removeLayoutComponent(java.awt.Component comp)
      Removes the specified component from the layout.
      void setColumnCount(int columns)
      Resets the number of columns in the table.
      void setConstraints(java.awt.Component comp, java.awt.GridBagConstraints constraints)
      Sets the constraints for the component to a copy of the supplied constraints.
      void setConstraints(java.awt.Component comp, java.lang.String constraints)
      Sets the constraints for the component to the constraints specified by the string.
      void setDefaultFill(int fill)
      Sets the default fill parameter for components in the table.
      void setHgap(int pixels)
      Sets the horizontal gap between components.
      void setHorizontalAlignment(int align)
      Sets the horizontal alignment for the table.
      void setRowCount(int rows)
      Resets the number of rows in the table.
      void setStrictGridBagModel(boolean flag)
      Sets a flag indicating whether the layout manager should match the model used in GridBagLayout even when that interpretation seems wrong.
      void setVerticalAlignment(int align)
      Sets the vertical alignment for the table.
      void setVgap(int pixels)
      Sets the vertical gap between components.
      java.lang.String toString()
      Creates a printable representation of the layout.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • HORIZONTAL

        public static final int HORIZONTAL
        Resize component in horizontal direction only
        See Also:
        Constant Field Values
      • VERTICAL

        public static final int VERTICAL
        Resize component in vertical direction only
        See Also:
        Constant Field Values
      • LEFT

        public static final int LEFT
        Align table horizontally at the left of its container
        See Also:
        Constant Field Values
      • RIGHT

        public static final int RIGHT
        Align table horizontally at the right of its container
        See Also:
        Constant Field Values
      • TOP

        public static final int TOP
        Align table vertically at the top of its container
        See Also:
        Constant Field Values
      • BOTTOM

        public static final int BOTTOM
        Align table vertically at the bottom of its container
        See Also:
        Constant Field Values
    • Constructor Detail

      • TableLayout

        public TableLayout()
        Creates a new TableLayout object with no limits on the number of rows and columns.
      • TableLayout

        public TableLayout(int rows,
                           int columns)
        Creates a new TableLayout object with the specified number of rows and columns.
        Parameters:
        rows - The number of rows, or 0 for no limit
        columns - The number of columns, or 0 for no limit
      • TableLayout

        public TableLayout(int rows,
                           int columns,
                           int hgap,
                           int vgap)
        Creates a new TableLayout object with the specified row count, column count, alignment, horizontal gap, and vertical gap.
        Parameters:
        rows - The number of rows, or 0 for no limit
        columns - The number of columns, or 0 for no limit
        hgap - The horizontal gap between columns
        vgap - The vertical gap between rows
    • Method Detail

      • setColumnCount

        public void setColumnCount(int columns)
        Resets the number of columns in the table.
        Parameters:
        columns - The new number of columns
      • getColumnCount

        public int getColumnCount()
        Returns the number of columns in the table.
        Returns:
        The number of columns
      • setRowCount

        public void setRowCount(int rows)
        Resets the number of rows in the table.
        Parameters:
        rows - The new number of rows
      • getRowCount

        public int getRowCount()
        Returns the number of rows in the table.
        Returns:
        The number of rows
      • setHorizontalAlignment

        public void setHorizontalAlignment(int align)
        Sets the horizontal alignment for the table. The legal values are CENTER, LEFT, RIGHT, and FILL.
        Parameters:
        align - The horizontal alignment for the table
      • getHorizontalAlignment

        public int getHorizontalAlignment()
        Returns the horizontal alignment for the table.
        Returns:
        The horizontal alignment for the table
      • setVerticalAlignment

        public void setVerticalAlignment(int align)
        Sets the vertical alignment for the table. The legal values are CENTER, TOP, BOTTOM, and FILL.
        Parameters:
        align - The vertical alignment for the table
      • getVerticalAlignment

        public int getVerticalAlignment()
        Returns the vertical alignment for the table.
        Returns:
        The vertical alignment for the table
      • setDefaultFill

        public void setDefaultFill(int fill)
        Sets the default fill parameter for components in the table. The legal values are NONE, HORIZONTAL, VERTICAL, and BOTH.
        Parameters:
        fill - The default fill parameter for components in the table
      • getDefaultFill

        public int getDefaultFill()
        Returns the default fill parameter for components in the table.
        Returns:
        The default fill parameter for components in the table
      • setHgap

        public void setHgap(int pixels)
        Sets the horizontal gap between components.
        Parameters:
        pixels - The gap between components in pixels
      • getHgap

        public int getHgap()
        Returns the horizontal gap between components.
        Returns:
        The horizontal gap between components
      • setVgap

        public void setVgap(int pixels)
        Sets the vertical gap between components.
        Parameters:
        pixels - The gap between components in pixels
      • getVgap

        public int getVgap()
        Returns the vertical gap between components.
        Returns:
        The vertical gap between components
      • setStrictGridBagModel

        public void setStrictGridBagModel(boolean flag)
        Sets a flag indicating whether the layout manager should match the model used in GridBagLayout even when that interpretation seems wrong. The differences show up in the following areas:
        • Calculation of cell size. GridBagLayout uses the minimum layout size of the component to determine the size of each cell; TableLayout uses the preferred size. In practice, these two values are often the same, but it seems that the preferred size makes considerably more sense in terms of how this layout is used.
        • Treatment of cells spanning several rows. In GridBagLayout, each new row begins after the last multirow cell in that row, even if there is space to its left. By default, TableLayout uses the HTML model in which the cells begin at the left margin unless that column is itself already occupied.
        Parameters:
        flag - true to use a strict GridBagLayout model
      • isStrictGridBagModel

        public boolean isStrictGridBagModel()
        Returns true if this layout manager is treating multirow cells exactly as GridBagLayout does.
        Returns:
        true if this manager is using the strict GridBagLayout model
      • setConstraints

        public void setConstraints(java.awt.Component comp,
                                   java.awt.GridBagConstraints constraints)
        Sets the constraints for the component to a copy of the supplied constraints.
        Parameters:
        comp - The component to be constrained
        constraints - The constraints object used to specify the layout
      • setConstraints

        public void setConstraints(java.awt.Component comp,
                                   java.lang.String constraints)
        Sets the constraints for the component to the constraints specified by the string.
        Parameters:
        comp - The component to be constrained
        constraints - A string specifying the constraints
      • getConstraints

        public TableConstraints getConstraints(java.awt.Component comp)
        Returns a copy of the constraints requested for the specified component. The constraints value is always converted to a TableConstraints so that clients can use this class in preference to GridBagConstraints without needing a type cast.
        Parameters:
        comp - The component whose constraints are requested
        Returns:
        A copy of the constraints object used to specify the layout
      • addLayoutComponent

        public void addLayoutComponent(java.lang.String constraints,
                                       java.awt.Component comp)
        Adds a component to the layout. Implements LayoutManager.
        Specified by:
        addLayoutComponent in interface java.awt.LayoutManager
        Parameters:
        constraints - The constraint string
        comp - The component to be added
      • removeLayoutComponent

        public void removeLayoutComponent(java.awt.Component comp)
        Removes the specified component from the layout.
        Specified by:
        removeLayoutComponent in interface java.awt.LayoutManager
        Parameters:
        comp - The component to be removed
      • preferredLayoutSize

        public java.awt.Dimension preferredLayoutSize(java.awt.Container target)
        Calculates the preferred size for the FrameLayout component when laid out in the target container.
        Specified by:
        preferredLayoutSize in interface java.awt.LayoutManager
        Parameters:
        target - The container in which the layout is done
        Returns:
        The preferred dimensions for the layout
      • minimumLayoutSize

        public java.awt.Dimension minimumLayoutSize(java.awt.Container target)
        Calculates the minimum size for the FrameLayout component when laid out in the target container.
        Specified by:
        minimumLayoutSize in interface java.awt.LayoutManager
        Parameters:
        target - The container in which the layout is done
        Returns:
        The minimum dimensions for the layout
      • layoutContainer

        public void layoutContainer(java.awt.Container target)
        Lays out the components in the target container.
        Specified by:
        layoutContainer in interface java.awt.LayoutManager
        Parameters:
        target - The container in which the layout is done
      • addLayoutComponent

        public void addLayoutComponent(java.awt.Component comp,
                                       java.lang.Object constraints)
        Adds a component to the layout. The TableLayout class overrides this method to allow for string constraints.
        Specified by:
        addLayoutComponent in interface java.awt.LayoutManager2
        Parameters:
        comp - The component to be added
        constraints - The constraint object
      • maximumLayoutSize

        public java.awt.Dimension maximumLayoutSize(java.awt.Container target)
        Calculates the maximum size for the FrameLayout component when laid out in the target container.
        Specified by:
        maximumLayoutSize in interface java.awt.LayoutManager2
        Parameters:
        target - The container in which the layout is done
        Returns:
        The maximum dimensions for the layout
      • getLayoutAlignmentX

        public float getLayoutAlignmentX(java.awt.Container target)
        Returns the alignment along the x-axis as described in the LayoutManager2 interface.
        Specified by:
        getLayoutAlignmentX in interface java.awt.LayoutManager2
        Parameters:
        target - The container in which the layout is done
        Returns:
        A value between 0 and 1 indicating where this component should align
      • getLayoutAlignmentY

        public float getLayoutAlignmentY(java.awt.Container target)
        Returns the alignment along the y-axis as described in the LayoutManager2 interface.
        Specified by:
        getLayoutAlignmentY in interface java.awt.LayoutManager2
        Parameters:
        target - The container in which the layout is done
        Returns:
        A value between 0 and 1 indicating where this component should align
      • invalidateLayout

        public void invalidateLayout(java.awt.Container target)
        Indicates that the layout is no longer valid.
        Specified by:
        invalidateLayout in interface java.awt.LayoutManager2
        Parameters:
        target - The container in which the layout is done
      • toString

        public java.lang.String toString()
        Creates a printable representation of the layout.
        Overrides:
        toString in class java.lang.Object
      • lookupConstraints

        protected java.awt.GridBagConstraints lookupConstraints(java.awt.Component comp)
        Returns the constraints object for the specified component.
        Parameters:
        comp - The component to be constrained
        Returns:
        The constraints object used to specify the layout
      • lookupConstraints

        protected TableConstraints lookupConstraints(java.awt.Component comp,
                                                     java.awt.Container target)
        Returns the TableConstraints object actually applied to the specified component when it is laid out in the target container. In the result of this method the values of the gridx, gridx, gridwidth, and gridheight fields are filled in according to the actual position in the grid.
        Parameters:
        comp - The component to be constrained
        target - The container in which the layout is done
        Returns:
        The constraints object actually applied to the layout