Class AC

java.lang.Object
net.miginfocom.layout.AC
All Implemented Interfaces:
Externalizable, Serializable

public final class AC extends Object implements Externalizable
A constraint that holds the column or row constraints for the grid. It also holds the gaps between the rows and columns.

This class is a holder and builder for a number of DimConstraints.

For a more thorough explanation of what these constraints do, and how to build the constraints, see the White Paper or Cheat Sheet at www.migcomponents.com.

Note that there are two way to build this constraint. Through String (e.g. "[100]3[200,fill]" or through API (E.g. new AC().size("100").gap("3").size("200").fill().

See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    AC()
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    final AC
    align(String side)
    Specifies the current row/column's columns default alignment for its components.
    final AC
    align(String side, int... indexes)
    Specifies the indicated rows'/columns' columns default alignment for its components.
    final AC
    count(int size)
    Sets the total number of rows/columns to size.
    final AC
    Specifies that the current row/column's component should grow by default.
    final AC
    fill(int... indexes)
    Specifies that the indicated rows'/columns' component should grow by default.
    final AC
    gap()
    Specifies the gap size to be the default one AND moves to the next column/row.
    final AC
    gap(String size)
    Specifies the gap size to size AND moves to the next column/row.
    final AC
    gap(String size, int... indexes)
    Specifies the indicated rows'/columns' gap size to size.
    Property.
    int
    Returns the number of rows/columns that this constraints currently have.
    final AC
    Specifies the current row/column's grow weight within columns/rows with the grow priority 100f.
    final AC
    grow(float w)
    Specifies the current row/column's grow weight within columns/rows with the same grow priority.
    final AC
    grow(float w, int... indexes)
    Specifies the indicated rows'/columns' grow weight within columns/rows with the same grow priority.
    final AC
    growPrio(int p)
    Specifies the current row/column's grow priority.
    final AC
    growPrio(int p, int... indexes)
    Specifies the indicated rows'/columns' grow priority.
    final AC
    index(int i)
    Sets the current row/column to i.
    final AC
    Specifies that the current row/column should not be grid-like.
    final AC
    noGrid(int... indexes)
    Specifies that the indicated rows/columns should not be grid-like.
    void
     
    final void
    Sets the different DimConstraints that this object should consists of.
    final AC
    Specifies that the current row/column's shrink weight withing the columns/rows with the shrink priority 100f.
    final AC
    shrink(float w)
    Specifies that the current row/column's shrink weight withing the columns/rows with the same shrink priority.
    final AC
    shrink(float w, int... indexes)
    Specifies the indicated rows'/columns' shrink weight withing the columns/rows with the same shrink priority.
    final AC
    shrinkPrio(int p)
    Specifies the current row/column's shrink priority.
    final AC
    shrinkPrio(int p, int... indexes)
    Specifies the indicated rows'/columns' shrink priority.
    final AC
    shrinkWeight(float w)
    Deprecated.
    in 3.7.2.
    final AC
    shrinkWeight(float w, int... indexes)
    Deprecated.
    in 3.7.2.
    final AC
    Specifies the current row/column's min and/or preferred and/or max size.
    final AC
    size(String size, int... indexes)
    Specifies the indicated rows'/columns' min and/or preferred and/or max size.
    final AC
    Specifies that the current row/column should be put in the size group s and will thus share the same size constraints as the other components in the group.
    final AC
    Specifies that the current row/column should be put in the size group s and will thus share the same size constraints as the other components in the group.
    final AC
    sizeGroup(String s, int... indexes)
    Specifies that the indicated rows/columns should be put in the size group s and will thus share the same size constraints as the other components in the group.
    void
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • AC

      public AC()
      Constructor. Creates an instance that can be configured manually. Will be initialized with a default DimConstraint.
  • Method Details

    • getConstaints

      public final DimConstraint[] getConstaints()
      Property. The different DimConstraints that this object consists of. These DimConstraints contains all information in this class.

      Yes, we are embarrassingly aware that the method is misspelled.

      Returns:
      The different DimConstraints that this object consists of. A new list and never null.
    • setConstaints

      public final void setConstaints(DimConstraint[] constr)
      Sets the different DimConstraints that this object should consists of.

      Yes, we are embarrassingly aware that the method is misspelled.

      Parameters:
      constr - The different DimConstraints that this object consists of. The list will be copied for storage. null or and empty array will reset the constraints to one DimConstraint with default values.
    • getCount

      public int getCount()
      Returns the number of rows/columns that this constraints currently have.
      Returns:
      The number of rows/columns that this constraints currently have. At least 1.
    • count

      public final AC count(int size)
      Sets the total number of rows/columns to size. If the number of rows/columns is already more than size nothing will happen.
      Parameters:
      size - The total number of rows/columns
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • noGrid

      public final AC noGrid()
      Specifies that the current row/column should not be grid-like. The while row/colum will have its components layed out in one single cell. It is the same as to say that the cells in this column/row will all be merged (a.k.a spanned).

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • noGrid

      public final AC noGrid(int... indexes)
      Specifies that the indicated rows/columns should not be grid-like. The while row/colum will have its components layed out in one single cell. It is the same as to say that the cells in this column/row will all be merged (a.k.a spanned).

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      indexes - The index(es) (0-based) of the columns/rows that should be affected by this constraint.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • index

      public final AC index(int i)
      Sets the current row/column to i. If the current number of rows/columns is less than i a call to count(int) will set the size accordingly.

      The next call to any of the constraint methods (e.g. noGrid()) will be carried out on this new row/column.

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      i - The new current row/column.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • fill

      public final AC fill()
      Specifies that the current row/column's component should grow by default. It does not affect the size of the row/column.

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • fill

      public final AC fill(int... indexes)
      Specifies that the indicated rows'/columns' component should grow by default. It does not affect the size of the row/column.

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      indexes - The index(es) (0-based) of the columns/rows that should be affected by this constraint.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • sizeGroup

      public final AC sizeGroup()
      Specifies that the current row/column should be put in the size group s and will thus share the same size constraints as the other components in the group.

      Same as sizeGroup("")

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
      Since:
      3.7.2
    • sizeGroup

      public final AC sizeGroup(String s)
      Specifies that the current row/column should be put in the size group s and will thus share the same size constraints as the other components in the group.

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      s - A name to associate on the group that should be the same for other rows/columns in the same group.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • sizeGroup

      public final AC sizeGroup(String s, int... indexes)
      Specifies that the indicated rows/columns should be put in the size group s and will thus share the same size constraints as the other components in the group.

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      s - A name to associate on the group that should be the same for other rows/columns in the same group.
      indexes - The index(es) (0-based) of the columns/rows that should be affected by this constraint.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • size

      public final AC size(String s)
      Specifies the current row/column's min and/or preferred and/or max size. E.g. "10px" or "50:100:200".

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      s - The minimum and/or preferred and/or maximum size of this row. The string will be interpreted as a BoundSize. For more info on how BoundSize is formatted see the documentation.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • size

      public final AC size(String size, int... indexes)
      Specifies the indicated rows'/columns' min and/or preferred and/or max size. E.g. "10px" or "50:100:200".

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      size - The minimum and/or preferred and/or maximum size of this row. The string will be interpreted as a BoundSize. For more info on how BoundSize is formatted see the documentation.
      indexes - The index(es) (0-based) of the columns/rows that should be affected by this constraint.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • gap

      public final AC gap()
      Specifies the gap size to be the default one AND moves to the next column/row. The method is called .gap() rather the more natural .next() to indicate that it is very much related to the other .gap(..) methods.

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • gap

      public final AC gap(String size)
      Specifies the gap size to size AND moves to the next column/row.

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      size - minimum and/or preferred and/or maximum size of the gap between this and the next row/column. The string will be interpreted as a BoundSize. For more info on how BoundSize is formatted see the documentation.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • gap

      public final AC gap(String size, int... indexes)
      Specifies the indicated rows'/columns' gap size to size.

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      size - minimum and/or preferred and/or maximum size of the gap between this and the next row/column. The string will be interpreted as a BoundSize. For more info on how BoundSize is formatted see the documentation.
      indexes - The index(es) (0-based) of the columns/rows that should be affected by this constraint.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • align

      public final AC align(String side)
      Specifies the current row/column's columns default alignment for its components. It does not affect the positioning or size of the columns/row itself. For columns it is the horizonal alignment (e.g. "left") and for rows it is the vertical alignment (e.g. "top").

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      side - The default side to align the components. E.g. "top" or "left", or "leading" or "trailing" or "bottom" or "right".
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • align

      public final AC align(String side, int... indexes)
      Specifies the indicated rows'/columns' columns default alignment for its components. It does not affect the positioning or size of the columns/row itself. For columns it is the horizonal alignment (e.g. "left") and for rows it is the vertical alignment (e.g. "top").

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      side - The default side to align the components. E.g. "top" or "left", or "before" or "after" or "bottom" or "right".
      indexes - The index(es) (0-based) of the columns/rows that should be affected by this constraint.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • growPrio

      public final AC growPrio(int p)
      Specifies the current row/column's grow priority.

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      p - The new grow priority.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • growPrio

      public final AC growPrio(int p, int... indexes)
      Specifies the indicated rows'/columns' grow priority.

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      p - The new grow priority.
      indexes - The index(es) (0-based) of the columns/rows that should be affected by this constraint.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • grow

      public final AC grow()
      Specifies the current row/column's grow weight within columns/rows with the grow priority 100f.

      Same as grow(100f)

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
      Since:
      3.7.2
    • grow

      public final AC grow(float w)
      Specifies the current row/column's grow weight within columns/rows with the same grow priority.

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      w - The new grow weight.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • grow

      public final AC grow(float w, int... indexes)
      Specifies the indicated rows'/columns' grow weight within columns/rows with the same grow priority.

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      w - The new grow weight.
      indexes - The index(es) (0-based) of the columns/rows that should be affected by this constraint.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • shrinkPrio

      public final AC shrinkPrio(int p)
      Specifies the current row/column's shrink priority.

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      p - The new shrink priority.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • shrinkPrio

      public final AC shrinkPrio(int p, int... indexes)
      Specifies the indicated rows'/columns' shrink priority.

      For a more thorough explanation of what this constraint does see the white paper or cheat Sheet at www.migcomponents.com.

      Parameters:
      p - The new shrink priority.
      indexes - The index(es) (0-based) of the columns/rows that should be affected by this constraint.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • shrink

      public final AC shrink()
      Specifies that the current row/column's shrink weight withing the columns/rows with the shrink priority 100f.

      Same as shrink(100f).

      For a more thorough explanation of what this constraint does see the White Paper or Cheat Sheet at www.migcomponents.com.

      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
      Since:
      3.7.2
    • shrink

      public final AC shrink(float w)
      Specifies that the current row/column's shrink weight withing the columns/rows with the same shrink priority.

      For a more thorough explanation of what this constraint does see the White Paper or Cheat Sheet at www.migcomponents.com.

      Parameters:
      w - The shrink weight.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
      Since:
      3.7.2
    • shrink

      public final AC shrink(float w, int... indexes)
      Specifies the indicated rows'/columns' shrink weight withing the columns/rows with the same shrink priority.

      For a more thorough explanation of what this constraint does see the White Paper or Cheat Sheet at www.migcomponents.com.

      Parameters:
      w - The shrink weight.
      indexes - The index(es) (0-based) of the columns/rows that should be affected by this constraint.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
      Since:
      3.7.2
    • shrinkWeight

      public final AC shrinkWeight(float w)
      Deprecated.
      in 3.7.2. Use shrink(float) instead.
      Specifies that the current row/column's shrink weight withing the columns/rows with the same shrink priority.

      For a more thorough explanation of what this constraint does see the White Paper or Cheat Sheet at www.migcomponents.com.

      Parameters:
      w - The shrink weight.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • shrinkWeight

      public final AC shrinkWeight(float w, int... indexes)
      Deprecated.
      in 3.7.2. Use shrink(float, int...) instead.
      Specifies the indicated rows'/columns' shrink weight withing the columns/rows with the same shrink priority.

      For a more thorough explanation of what this constraint does see the White Paper or Cheat Sheet at www.migcomponents.com.

      Parameters:
      w - The shrink weight.
      indexes - The index(es) (0-based) of the columns/rows that should be affected by this constraint.
      Returns:
      this so it is possible to chain calls. E.g. new AxisConstraint().noGrid().gap().fill().
    • readExternal

      public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
      Specified by:
      readExternal in interface Externalizable
      Throws:
      IOException
      ClassNotFoundException
    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Specified by:
      writeExternal in interface Externalizable
      Throws:
      IOException