# Class ColumnConstraints

java.lang.Object
javafx.scene.layout.ConstraintsBase
javafx.scene.layout.ColumnConstraints

public class ColumnConstraints extends ConstraintsBase
Defines optional layout constraints for a column in a `GridPane`. If a ColumnConstraints object is added for a column in a gridpane, the gridpane will use those constraint values when computing the column's width and layout.

For example, to create a GridPane with 5 columns 100 pixels wide:

         GridPane gridpane = new GridPane();
         for (int i = 0; i < 5; i++) {
             ColumnConstraints column = new ColumnConstraints(100);
             gridpane.getColumnConstraints().add(column);
         }

Or, to create a GridPane where columns take 25%, 50%, 25% of its width:

         GridPane gridpane = new GridPane();
         ColumnConstraints col1 = new ColumnConstraints();
         col1.setPercentWidth(25);
         ColumnConstraints col2 = new ColumnConstraints();
         col2.setPercentWidth(50);
         ColumnConstraints col3 = new ColumnConstraints();
         col3.setPercentWidth(25);
         gridpane.getColumnConstraints().addAll(col1,col2,col3);

Note that adding an empty ColumnConstraints object has the effect of not setting any constraints, leaving the GridPane to compute the column's layout based solely on its content's size preferences and constraints.

Since:
  JavaFX 2.0

- ## Property Summary

  Properties
  Type
  Property
  Description
  `final BooleanProperty`
  `fillWidth`
  The horizontal fill policy for the column.
  `final ObjectProperty<HPos>`
  `halignment`
  The horizontal alignment for the column.
  `final ObjectProperty<Priority>`
  `hgrow`
  The horizontal grow priority for the column.
  `final DoubleProperty`
  `maxWidth`
  The maximum width for the column.
  `final DoubleProperty`
  `minWidth`
  The minimum width for the column.
  `final DoubleProperty`
  `percentWidth`
  The width percentage of the column.
  `final DoubleProperty`
  `prefWidth`
  The preferred width for the column.

- ## Field Summary

  ### Fields declared in class javafx.scene.layout.ConstraintsBase

  `CONSTRAIN_TO_PREF`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ColumnConstraints()`
  Create a column constraint object with no properties set.
  `ColumnConstraints(double width)`
  Creates a column constraint object with a fixed width.
  `ColumnConstraints(double minWidth, double prefWidth, double maxWidth)`
  Creates a column constraint object with a fixed size range.
  `ColumnConstraints(double minWidth, double prefWidth, double maxWidth, Priority hgrow, HPos halignment, boolean fillWidth)`
  Creates a column constraint object with a fixed size range, horizontal grow priority, horizontal alignment, and horizontal fill behavior.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final BooleanProperty`
  `fillWidthProperty()`
  The horizontal fill policy for the column.
  `final HPos`
  `getHalignment()`
  Gets the value of the `halignment` property.
  `final Priority`
  `getHgrow()`
  Gets the value of the `hgrow` property.
  `final double`
  `getMaxWidth()`
  Gets the value of the `maxWidth` property.
  `final double`
  `getMinWidth()`
  Gets the value of the `minWidth` property.
  `final double`
  `getPercentWidth()`
  Gets the value of the `percentWidth` property.
  `final double`
  `getPrefWidth()`
  Gets the value of the `prefWidth` property.
  `final ObjectProperty<HPos>`
  `halignmentProperty()`
  The horizontal alignment for the column.
  `final ObjectProperty<Priority>`
  `hgrowProperty()`
  The horizontal grow priority for the column.
  `final boolean`
  `isFillWidth()`
  Gets the value of the `fillWidth` property.
  `final DoubleProperty`
  `maxWidthProperty()`
  The maximum width for the column.
  `final DoubleProperty`
  `minWidthProperty()`
  The minimum width for the column.
  `final DoubleProperty`
  `percentWidthProperty()`
  The width percentage of the column.
  `final DoubleProperty`
  `prefWidthProperty()`
  The preferred width for the column.
  `final void`
  `setFillWidth(boolean value)`
  Sets the value of the `fillWidth` property.
  `final void`
  `setHalignment(HPos value)`
  Sets the value of the `halignment` property.
  `final void`
  `setHgrow(Priority value)`
  Sets the value of the `hgrow` property.
  `final void`
  `setMaxWidth(double value)`
  Sets the value of the `maxWidth` property.
  `final void`
  `setMinWidth(double value)`
  Sets the value of the `minWidth` property.
  `final void`
  `setPercentWidth(double value)`
  Sets the value of the `percentWidth` property.
  `final void`
  `setPrefWidth(double value)`
  Sets the value of the `prefWidth` property.
  `String`
  `toString()`
  Returns a string representation of this `ColumnConstraints` object.

  ### Methods declared in class javafx.scene.layout.ConstraintsBase

  `requestLayout`

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Property Details

  - ### minWidth

    public final DoubleProperty minWidthProperty
    The minimum width for the column. This property is ignored if percentWidth is set.

    The default value is USE_COMPUTED_SIZE, which means the minimum width will be computed to be the largest minimum width of the column's content.

    See Also:
      - `getMinWidth()`
      - `setMinWidth(double)`
      - `minWidthProperty()`

  - ### prefWidth

    public final DoubleProperty prefWidthProperty
    The preferred width for the column. This property is ignored if percentWidth is set.

    The default value is USE_COMPUTED_SIZE, which means the preferred width will be computed to be the largest preferred width of the column's content.

    See Also:
      - `getPrefWidth()`
      - `setPrefWidth(double)`
      - `prefWidthProperty()`

  - ### maxWidth

    public final DoubleProperty maxWidthProperty
    The maximum width for the column. This property is ignored if percentWidth is set.

    The default value is USE_COMPUTED_SIZE, which means the maximum width will be computed to be the smallest maximum width of the column's content.

    See Also:
      - `getMaxWidth()`
      - `setMaxWidth(double)`
      - `maxWidthProperty()`

  - ### percentWidth

    public final DoubleProperty percentWidthProperty
    The width percentage of the column. If set to a value greater than 0, the column will be resized to this percentage of the gridpane's available width and the other size constraints (minWidth, prefWidth, maxWidth, hgrow) will be ignored. The default value is -1, which means the percentage will be ignored.
    See Also:
      - `getPercentWidth()`
      - `setPercentWidth(double)`
      - `percentWidthProperty()`

  - ### hgrow

    public final ObjectProperty<Priority> hgrowProperty
    The horizontal grow priority for the column. If set, the gridpane will use this priority to determine whether the column should be given any additional width if the gridpane is resized larger than its preferred width. This property is ignored if percentWidth is set.

    This default value is null, which means that the column's grow priority will be derived from largest grow priority set on a content node.

    See Also:
      - `getHgrow()`
      - `setHgrow(Priority)`
      - `hgrowProperty()`

  - ### halignment

    public final ObjectProperty<HPos> halignmentProperty
    The horizontal alignment for the column. If set, will be the default horizontal alignment for nodes contained within the column.

    The default value is null, which means the column alignment will fall back to the default halignment set on the gridpane.

    See Also:
      - `getHalignment()`
      - `setHalignment(HPos)`
      - `halignmentProperty()`

  - ### fillWidth

    public final BooleanProperty fillWidthProperty
    The horizontal fill policy for the column. The gridpane will use this property to determine whether nodes contained within the column should be expanded to fill the column or kept to their preferred widths.

    The default value is true.

    See Also:
      - `isFillWidth()`
      - `setFillWidth(boolean)`
      - `fillWidthProperty()`

- ## Constructor Details

  - ### ColumnConstraints

    public ColumnConstraints()
    Create a column constraint object with no properties set.

  - ### ColumnConstraints

    public ColumnConstraints(double width)
    Creates a column constraint object with a fixed width. This is a convenience for setting the preferred width constraint to the fixed value and the minWidth and maxWidth constraints to the USE_PREF_SIZE flag to ensure the column is always that width.
    Parameters:
      `width` - the width of the column

  - ### ColumnConstraints

    public ColumnConstraints(double minWidth, double prefWidth, double maxWidth)
    Creates a column constraint object with a fixed size range. This is a convenience for setting the minimum, preferred, and maximum width constraints.
    Parameters:
      `minWidth` - the minimum width
      `prefWidth` - the preferred width
      `maxWidth` - the maximum width

  - ### ColumnConstraints

    public ColumnConstraints(double minWidth, double prefWidth, double maxWidth, Priority hgrow, HPos halignment, boolean fillWidth)
    Creates a column constraint object with a fixed size range, horizontal grow priority, horizontal alignment, and horizontal fill behavior.
    Parameters:
      `minWidth` - the minimum width
      `prefWidth` - the preferred width
      `maxWidth` - the maximum width
      `hgrow` - the horizontal grow priority
      `halignment` - the horizontal alignment
      `fillWidth` - the horizontal fill behavior

- ## Method Details

  - ### setMinWidth

    public final void setMinWidth(double value)
    Sets the value of the `minWidth` property.
    Property description:
      The minimum width for the column. This property is ignored if percentWidth is set.

      The default value is USE_COMPUTED_SIZE, which means the minimum width will be computed to be the largest minimum width of the column's content.

    Parameters:
      `value` - the value for the `minWidth` property
    See Also:
      - `getMinWidth()`
      - `minWidthProperty()`

  - ### getMinWidth

    public final double getMinWidth()
    Gets the value of the `minWidth` property.
    Property description:
      The minimum width for the column. This property is ignored if percentWidth is set.

      The default value is USE_COMPUTED_SIZE, which means the minimum width will be computed to be the largest minimum width of the column's content.

    Returns:
      the value of the `minWidth` property
    See Also:
      - `setMinWidth(double)`
      - `minWidthProperty()`

  - ### minWidthProperty

    public final DoubleProperty minWidthProperty()
    The minimum width for the column. This property is ignored if percentWidth is set.

    The default value is USE_COMPUTED_SIZE, which means the minimum width will be computed to be the largest minimum width of the column's content.

    Returns:
      the `minWidth` property
    See Also:
      - `getMinWidth()`
      - `setMinWidth(double)`

  - ### setPrefWidth

    public final void setPrefWidth(double value)
    Sets the value of the `prefWidth` property.
    Property description:
      The preferred width for the column. This property is ignored if percentWidth is set.

      The default value is USE_COMPUTED_SIZE, which means the preferred width will be computed to be the largest preferred width of the column's content.

    Parameters:
      `value` - the value for the `prefWidth` property
    See Also:
      - `getPrefWidth()`
      - `prefWidthProperty()`

  - ### getPrefWidth

    public final double getPrefWidth()
    Gets the value of the `prefWidth` property.
    Property description:
      The preferred width for the column. This property is ignored if percentWidth is set.

      The default value is USE_COMPUTED_SIZE, which means the preferred width will be computed to be the largest preferred width of the column's content.

    Returns:
      the value of the `prefWidth` property
    See Also:
      - `setPrefWidth(double)`
      - `prefWidthProperty()`

  - ### prefWidthProperty

    public final DoubleProperty prefWidthProperty()
    The preferred width for the column. This property is ignored if percentWidth is set.

    The default value is USE_COMPUTED_SIZE, which means the preferred width will be computed to be the largest preferred width of the column's content.

    Returns:
      the `prefWidth` property
    See Also:
      - `getPrefWidth()`
      - `setPrefWidth(double)`

  - ### setMaxWidth

    public final void setMaxWidth(double value)
    Sets the value of the `maxWidth` property.
    Property description:
      The maximum width for the column. This property is ignored if percentWidth is set.

      The default value is USE_COMPUTED_SIZE, which means the maximum width will be computed to be the smallest maximum width of the column's content.

    Parameters:
      `value` - the value for the `maxWidth` property
    See Also:
      - `getMaxWidth()`
      - `maxWidthProperty()`

  - ### getMaxWidth

    public final double getMaxWidth()
    Gets the value of the `maxWidth` property.
    Property description:
      The maximum width for the column. This property is ignored if percentWidth is set.

      The default value is USE_COMPUTED_SIZE, which means the maximum width will be computed to be the smallest maximum width of the column's content.

    Returns:
      the value of the `maxWidth` property
    See Also:
      - `setMaxWidth(double)`
      - `maxWidthProperty()`

  - ### maxWidthProperty

    public final DoubleProperty maxWidthProperty()
    The maximum width for the column. This property is ignored if percentWidth is set.

    The default value is USE_COMPUTED_SIZE, which means the maximum width will be computed to be the smallest maximum width of the column's content.

    Returns:
      the `maxWidth` property
    See Also:
      - `getMaxWidth()`
      - `setMaxWidth(double)`

  - ### setPercentWidth

    public final void setPercentWidth(double value)
    Sets the value of the `percentWidth` property.
    Property description:
      The width percentage of the column. If set to a value greater than 0, the column will be resized to this percentage of the gridpane's available width and the other size constraints (minWidth, prefWidth, maxWidth, hgrow) will be ignored. The default value is -1, which means the percentage will be ignored.
    Parameters:
      `value` - the value for the `percentWidth` property
    See Also:
      - `getPercentWidth()`
      - `percentWidthProperty()`

  - ### getPercentWidth

    public final double getPercentWidth()
    Gets the value of the `percentWidth` property.
    Property description:
      The width percentage of the column. If set to a value greater than 0, the column will be resized to this percentage of the gridpane's available width and the other size constraints (minWidth, prefWidth, maxWidth, hgrow) will be ignored. The default value is -1, which means the percentage will be ignored.
    Returns:
      the value of the `percentWidth` property
    See Also:
      - `setPercentWidth(double)`
      - `percentWidthProperty()`

  - ### percentWidthProperty

    public final DoubleProperty percentWidthProperty()
    The width percentage of the column. If set to a value greater than 0, the column will be resized to this percentage of the gridpane's available width and the other size constraints (minWidth, prefWidth, maxWidth, hgrow) will be ignored. The default value is -1, which means the percentage will be ignored.
    Returns:
      the `percentWidth` property
    See Also:
      - `getPercentWidth()`
      - `setPercentWidth(double)`

  - ### setHgrow

    public final void setHgrow(Priority value)
    Sets the value of the `hgrow` property.
    Property description:
      The horizontal grow priority for the column. If set, the gridpane will use this priority to determine whether the column should be given any additional width if the gridpane is resized larger than its preferred width. This property is ignored if percentWidth is set.

      This default value is null, which means that the column's grow priority will be derived from largest grow priority set on a content node.

    Parameters:
      `value` - the value for the `hgrow` property
    See Also:
      - `getHgrow()`
      - `hgrowProperty()`

  - ### getHgrow

    public final Priority getHgrow()
    Gets the value of the `hgrow` property.
    Property description:
      The horizontal grow priority for the column. If set, the gridpane will use this priority to determine whether the column should be given any additional width if the gridpane is resized larger than its preferred width. This property is ignored if percentWidth is set.

      This default value is null, which means that the column's grow priority will be derived from largest grow priority set on a content node.

    Returns:
      the value of the `hgrow` property
    See Also:
      - `setHgrow(Priority)`
      - `hgrowProperty()`

  - ### hgrowProperty

    public final ObjectProperty<Priority> hgrowProperty()
    The horizontal grow priority for the column. If set, the gridpane will use this priority to determine whether the column should be given any additional width if the gridpane is resized larger than its preferred width. This property is ignored if percentWidth is set.

    This default value is null, which means that the column's grow priority will be derived from largest grow priority set on a content node.

    Returns:
      the `hgrow` property
    See Also:
      - `getHgrow()`
      - `setHgrow(Priority)`

  - ### setHalignment

    public final void setHalignment(HPos value)
    Sets the value of the `halignment` property.
    Property description:
      The horizontal alignment for the column. If set, will be the default horizontal alignment for nodes contained within the column.

      The default value is null, which means the column alignment will fall back to the default halignment set on the gridpane.

    Parameters:
      `value` - the value for the `halignment` property
    See Also:
      - `getHalignment()`
      - `halignmentProperty()`

  - ### getHalignment

    public final HPos getHalignment()
    Gets the value of the `halignment` property.
    Property description:
      The horizontal alignment for the column. If set, will be the default horizontal alignment for nodes contained within the column.

      The default value is null, which means the column alignment will fall back to the default halignment set on the gridpane.

    Returns:
      the value of the `halignment` property
    See Also:
      - `setHalignment(HPos)`
      - `halignmentProperty()`

  - ### halignmentProperty

    public final ObjectProperty<HPos> halignmentProperty()
    The horizontal alignment for the column. If set, will be the default horizontal alignment for nodes contained within the column.

    The default value is null, which means the column alignment will fall back to the default halignment set on the gridpane.

    Returns:
      the `halignment` property
    See Also:
      - `getHalignment()`
      - `setHalignment(HPos)`

  - ### setFillWidth

    public final void setFillWidth(boolean value)
    Sets the value of the `fillWidth` property.
    Property description:
      The horizontal fill policy for the column. The gridpane will use this property to determine whether nodes contained within the column should be expanded to fill the column or kept to their preferred widths.

      The default value is true.

    Parameters:
      `value` - the value for the `fillWidth` property
    See Also:
      - `isFillWidth()`
      - `fillWidthProperty()`

  - ### isFillWidth

    public final boolean isFillWidth()
    Gets the value of the `fillWidth` property.
    Property description:
      The horizontal fill policy for the column. The gridpane will use this property to determine whether nodes contained within the column should be expanded to fill the column or kept to their preferred widths.

      The default value is true.

    Returns:
      the value of the `fillWidth` property
    See Also:
      - `setFillWidth(boolean)`
      - `fillWidthProperty()`

  - ### fillWidthProperty

    public final BooleanProperty fillWidthProperty()
    The horizontal fill policy for the column. The gridpane will use this property to determine whether nodes contained within the column should be expanded to fill the column or kept to their preferred widths.

    The default value is true.

    Returns:
      the `fillWidth` property
    See Also:
      - `isFillWidth()`
      - `setFillWidth(boolean)`

  - ### toString

    public String toString()
    Returns a string representation of this `ColumnConstraints` object.
    Overrides:
      `toString` in class `Object`
    Returns:
      a string representation of this `ColumnConstraints` object.