Module javafx.graphics
Package javafx.scene.layout

# 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 inherited from 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, horizonal 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 inherited from class javafx.scene.layout.ConstraintsBase

`requestLayout`

### Methods inherited from 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, horizonal 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 horizonal 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.