Module javafx.graphics
Package javafx.scene.layout

# Class Region

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region

All Implemented Interfaces:
  `Styleable`, `EventTarget`

Direct Known Subclasses:
  `Axis`, `Chart`, `Control`, `Pane`, `TableColumnHeader`, `VirtualFlow`

public class Region extends Parent
Region is the base class for all JavaFX Node-based UI Controls, and all layout containers. It is a resizable Parent node which can be styled from CSS. It can have multiple backgrounds and borders. It is designed to support as much of the CSS3 specification for backgrounds and borders as is relevant to JavaFX. The full specification is available at the W3C.

Every Region has its layout bounds, which are specified to be (0, 0, width, height). A Region might draw outside these bounds. The content area of a Region is the area which is occupied for the layout of its children. This area is, by default, the same as the layout bounds of the Region, but can be modified by either the properties of a border (either with BorderStrokes or BorderImages), and by padding. The padding can be negative, such that the content area of a Region might extend beyond the layout bounds of the Region, but does not affect the layout bounds.

A Region has a Background, and a Border, although either or both of these might be empty. The Background of a Region is made up of zero or more BackgroundFills, and zero or more BackgroundImages. Likewise, the border of a Region is defined by its Border, which is made up of zero or more BorderStrokes and zero or more BorderImages. All BackgroundFills are drawn first, followed by BackgroundImages, BorderStrokes, and finally BorderImages. The content is drawn above all backgrounds and borders. If a BorderImage is present (and loaded all images properly), then no BorderStrokes are actually drawn, although they are considered for computing the position of the content area (see the stroke width property of a BorderStroke). These semantics are in line with the CSS 3 specification. The purpose of these semantics are to allow an application to specify a fallback BorderStroke to be displayed in the case that an ImageStroke fails to download or load.

By default a Region appears as a Rectangle. A BackgroundFill radii might cause the Rectangle to appear rounded. This affects not only making the visuals look like a rounded rectangle, but it also causes the picking behavior of the Region to act like a rounded rectangle, such that locations outside the corner radii are ignored. A Region can be made to use any shape, however, by specifying the `shape` property. If a shape is specified, then all BackgroundFills, BackgroundImages, and BorderStrokes will be applied to the shape. BorderImages are not used for Regions which have a shape specified.

Although the layout bounds of a Region are not influenced by any Border or Background, the content area insets and the picking area of the Region are. The `insets` of the Region define the distance between the edge of the layout bounds and the edge of the content area. For example, if the Region layout bounds are (x=0, y=0, width=200, height=100), and the insets are (top=10, right=20, bottom=30, left=40), then the content area bounds will be (x=40, y=10, width=140, height=60). A Region subclass which is laying out its children should compute and honor these content area bounds.

By default a Region inherits the layout behavior of its superclass, `Parent`, which means that it will resize any resizable child nodes to their preferred size, but will not reposition them. If an application needs more specific layout behavior, then it should use one of the Region subclasses: `StackPane`, `HBox`, `VBox`, `TilePane`, `FlowPane`, `BorderPane`, `GridPane`, or `AnchorPane`.

To implement a more custom layout, a Region subclass must override `computePrefWidth`, `computePrefHeight`, and `layoutChildren`. Note that `layoutChildren` is called automatically by the scene graph while executing a top-down layout pass and it should not be invoked directly by the region subclass.

Region subclasses which layout their children will position nodes by setting `layoutX`/`layoutY` and do not alter `translateX`/`translateY`, which are reserved for adjustments and animation.

Since:
  JavaFX 2.0

## Property Summary

Properties
Type
Property
Description
`final ObjectProperty<Background>`
`background`
The background of the Region, which is made up of zero or more BackgroundFills, and zero or more BackgroundImages.
`final ObjectProperty<Border>`
`border`
The border of the Region, which is made up of zero or more BorderStrokes, and zero or more BorderImages.
`final BooleanProperty`
`cacheShape`
Defines a hint to the system indicating that the Shape used to define the region's background is stable and would benefit from caching.
`final BooleanProperty`
`centerShape`
Defines whether the shape is centered within the Region's width or height.
`final ReadOnlyDoubleProperty`
`height`
The height of this resizable node.
`final ReadOnlyObjectProperty<Insets>`
`insets`
The insets of the Region define the distance from the edge of the region (its layout bounds, or (0, 0, width, height)) to the edge of the content area.
`final DoubleProperty`
`maxHeight`
Property for overriding the region's computed maximum height.
`final DoubleProperty`
`maxWidth`
Property for overriding the region's computed maximum width.
`final DoubleProperty`
`minHeight`
Property for overriding the region's computed minimum height.
`final DoubleProperty`
`minWidth`
Property for overriding the region's computed minimum width.
`final ObjectProperty<Insets>`
`opaqueInsets`
Defines the area of the region within which completely opaque pixels are drawn.
`final ObjectProperty<Insets>`
`padding`
The top, right, bottom, and left padding around the region's content.
`final DoubleProperty`
`prefHeight`
Property for overriding the region's computed preferred height.
`final DoubleProperty`
`prefWidth`
Property for overriding the region's computed preferred width.
`final BooleanProperty`
`scaleShape`
Specifies whether the shape, if defined, is scaled to match the size of the Region.
`final ObjectProperty<Shape>`
`shape`
When specified, the `Shape` will cause the region to be rendered as the specified shape rather than as a rounded rectangle.
`final BooleanProperty`
`snapToPixel`
Defines whether this region adjusts position, spacing, and size values of its children to pixel boundaries.
`final ReadOnlyDoubleProperty`
`width`
The width of this resizable node.

### Properties inherited from class javafx.scene.Parent

`needsLayout`

### Properties inherited from class javafx.scene.Node

`accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final double`
`USE_COMPUTED_SIZE`
Sentinel value which can be passed to a region's `setMinWidth`, `setMinHeight`, `setPrefWidth`, `setPrefHeight`, `setMaxWidth`, `setMaxHeight` methods to reset the region's size constraint back to it's intrinsic size returned by `computeMinWidth`, `computeMinHeight`, `computePrefWidth`, `computePrefHeight`, `computeMaxWidth`, or `computeMaxHeight`.
`static final double`
`USE_PREF_SIZE`
Sentinel value which can be passed to a region's `setMinWidth`, `setMinHeight`, `setMaxWidth` or `setMaxHeight` methods to indicate that the preferred dimension should be used for that max and/or min constraint.

### Fields inherited from class javafx.scene.Node

`BASELINE_OFFSET_SAME_AS_HEIGHT`

## Constructor Summary

Constructors
Constructor
Description
`Region()`
Creates a new Region with an empty Background and and empty Border.

## Method Summary

Modifier and Type
Method
Description
`final ObjectProperty<Background>`
`backgroundProperty()`
The background of the Region, which is made up of zero or more BackgroundFills, and zero or more BackgroundImages.
`final ObjectProperty<Border>`
`borderProperty()`
The border of the Region, which is made up of zero or more BorderStrokes, and zero or more BorderImages.
`final BooleanProperty`
`cacheShapeProperty()`
Defines a hint to the system indicating that the Shape used to define the region's background is stable and would benefit from caching.
`final BooleanProperty`
`centerShapeProperty()`
Defines whether the shape is centered within the Region's width or height.
`protected double`
`computeMaxHeight(double width)`
Computes the maximum height of this region.
`protected double`
`computeMaxWidth(double height)`
Computes the maximum width for this region.
`protected double`
`computeMinHeight(double width)`
Computes the minimum height of this region.
`protected double`
`computeMinWidth(double height)`
Computes the minimum width of this region.
`protected double`
`computePrefHeight(double width)`
Computes the preferred height of this region for the given width; Region subclasses should override this method to return an appropriate value based on their content and layout strategy.
`protected double`
`computePrefWidth(double height)`
Computes the preferred width of this region for the given height.
`final Background`
`getBackground()`
Gets the value of the `background` property.
`final Border`
`getBorder()`
Gets the value of the `border` property.
`static List<CssMetaData<? extends Styleable,?>>`
`getClassCssMetaData()`
`List<CssMetaData<? extends Styleable,?>>`
`getCssMetaData()`
This method should delegate to `Node.getClassCssMetaData()` so that a Node's CssMetaData can be accessed without the need for reflection.
`final double`
`getHeight()`
Gets the value of the `height` property.
`final Insets`
`getInsets()`
Gets the value of the `insets` property.
`final double`
`getMaxHeight()`
Gets the value of the `maxHeight` property.
`final double`
`getMaxWidth()`
Gets the value of the `maxWidth` property.
`final double`
`getMinHeight()`
Gets the value of the `minHeight` property.
`final double`
`getMinWidth()`
Gets the value of the `minWidth` property.
`final Insets`
`getOpaqueInsets()`
Gets the value of the `opaqueInsets` property.
`final Insets`
`getPadding()`
Gets the value of the `padding` property.
`final double`
`getPrefHeight()`
Gets the value of the `prefHeight` property.
`final double`
`getPrefWidth()`
Gets the value of the `prefWidth` property.
`final Shape`
`getShape()`
Gets the value of the `shape` property.
`String`
`getUserAgentStylesheet()`
An implementation may specify its own user-agent styles for this Region, and its children, by overriding this method.
`final double`
`getWidth()`
Gets the value of the `width` property.
`final ReadOnlyDoubleProperty`
`heightProperty()`
The height of this resizable node.
`final ReadOnlyObjectProperty<Insets>`
`insetsProperty()`
The insets of the Region define the distance from the edge of the region (its layout bounds, or (0, 0, width, height)) to the edge of the content area.
`final boolean`
`isCacheShape()`
Gets the value of the `cacheShape` property.
`final boolean`
`isCenterShape()`
Gets the value of the `centerShape` property.
`boolean`
`isResizable()`
Returns `true` since all Regions are resizable.
`final boolean`
`isScaleShape()`
Gets the value of the `scaleShape` property.
`final boolean`
`isSnapToPixel()`
Gets the value of the `snapToPixel` property.
`protected void`
`layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment)`
Utility method which lays out the child within an area of this region defined by `areaX`, `areaY`, `areaWidth` x `areaHeight`, with a baseline offset relative to that area.
`protected void`
`layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, boolean fillWidth, boolean fillHeight, HPos halignment, VPos valignment)`
Utility method which lays out the child within an area of this region defined by `areaX`, `areaY`, `areaWidth` x `areaHeight`, with a baseline offset relative to that area.
`static void`
`layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, boolean fillWidth, boolean fillHeight, HPos halignment, VPos valignment, boolean isSnapToPixel)`
Utility method which lays out the child within an area of it's parent defined by `areaX`, `areaY`, `areaWidth` x `areaHeight`, with a baseline offset relative to that area.
`protected void`
`layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment)`
Utility method which lays out the child within an area of this region defined by `areaX`, `areaY`, `areaWidth` x `areaHeight`, with a baseline offset relative to that area.
`final double`
`maxHeight(double width)`
Called during layout to determine the maximum height for this node.
`final DoubleProperty`
`maxHeightProperty()`
Property for overriding the region's computed maximum height.
`final double`
`maxWidth(double height)`
Called during layout to determine the maximum width for this node.
`final DoubleProperty`
`maxWidthProperty()`
Property for overriding the region's computed maximum width.
`final double`
`minHeight(double width)`
Called during layout to determine the minimum height for this node.
`final DoubleProperty`
`minHeightProperty()`
Property for overriding the region's computed minimum height.
`final double`
`minWidth(double height)`
Called during layout to determine the minimum width for this node.
`final DoubleProperty`
`minWidthProperty()`
Property for overriding the region's computed minimum width.
`final ObjectProperty<Insets>`
`opaqueInsetsProperty()`
Defines the area of the region within which completely opaque pixels are drawn.
`final ObjectProperty<Insets>`
`paddingProperty()`
The top, right, bottom, and left padding around the region's content.
`protected void`
`positionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment)`
Utility method which positions the child within an area of this region defined by `areaX`, `areaY`, `areaWidth` x `areaHeight`, with a baseline offset relative to that area.
`static void`
`positionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment, boolean isSnapToPixel)`
Utility method which positions the child within an area of this region defined by `areaX`, `areaY`, `areaWidth` x `areaHeight`, with a baseline offset relative to that area.
`final double`
`prefHeight(double width)`
Called during layout to determine the preferred height for this node.
`final DoubleProperty`
`prefHeightProperty()`
Property for overriding the region's computed preferred height.
`final double`
`prefWidth(double height)`
Called during layout to determine the preferred width for this node.
`final DoubleProperty`
`prefWidthProperty()`
Property for overriding the region's computed preferred width.
`void`
`resize(double width, double height)`
Invoked by the region's parent during layout to set the region's width and height.
`final BooleanProperty`
`scaleShapeProperty()`
Specifies whether the shape, if defined, is scaled to match the size of the Region.
`final void`
`setBackground(Background value)`
Sets the value of the `background` property.
`final void`
`setBorder(Border value)`
Sets the value of the `border` property.
`final void`
`setCacheShape(boolean value)`
Sets the value of the `cacheShape` property.
`final void`
`setCenterShape(boolean value)`
Sets the value of the `centerShape` property.
`protected void`
`setHeight(double value)`
Sets the value of the `height` property.
`final void`
`setMaxHeight(double value)`
Sets the value of the `maxHeight` property.
`void`
`setMaxSize(double maxWidth, double maxHeight)`
Convenience method for overriding the region's computed maximum width and height.
`final void`
`setMaxWidth(double value)`
Sets the value of the `maxWidth` property.
`final void`
`setMinHeight(double value)`
Sets the value of the `minHeight` property.
`void`
`setMinSize(double minWidth, double minHeight)`
Convenience method for overriding the region's computed minimum width and height.
`final void`
`setMinWidth(double value)`
Sets the value of the `minWidth` property.
`final void`
`setOpaqueInsets(Insets value)`
Sets the value of the `opaqueInsets` property.
`final void`
`setPadding(Insets value)`
Sets the value of the `padding` property.
`final void`
`setPrefHeight(double value)`
Sets the value of the `prefHeight` property.
`void`
`setPrefSize(double prefWidth, double prefHeight)`
Convenience method for overriding the region's computed preferred width and height.
`final void`
`setPrefWidth(double value)`
Sets the value of the `prefWidth` property.
`final void`
`setScaleShape(boolean value)`
Sets the value of the `scaleShape` property.
`final void`
`setShape(Shape value)`
Sets the value of the `shape` property.
`final void`
`setSnapToPixel(boolean value)`
Sets the value of the `snapToPixel` property.
`protected void`
`setWidth(double value)`
Sets the value of the `width` property.
`final ObjectProperty<Shape>`
`shapeProperty()`
When specified, the `Shape` will cause the region to be rendered as the specified shape rather than as a rounded rectangle.
`final double`
`snappedBottomInset()`
Utility method to get the bottom inset which includes padding and border inset.
`final double`
`snappedLeftInset()`
Utility method to get the left inset which includes padding and border inset.
`final double`
`snappedRightInset()`
Utility method to get the right inset which includes padding and border inset.
`final double`
`snappedTopInset()`
Utility method to get the top inset which includes padding and border inset.
`protected double`
`snapPosition(double value)`
Deprecated.
replaced by `snapPositionX()` and `snapPositionY()`
`double`
`snapPositionX(double value)`
If this region's snapToPixel property is true, returns a value rounded to the nearest pixel in the horizontal direction, else returns the same value.
`double`
`snapPositionY(double value)`
If this region's snapToPixel property is true, returns a value rounded to the nearest pixel in the vertical direction, else returns the same value.
`protected double`
`snapSize(double value)`
Deprecated.
replaced by `snapSizeX()` and `snapSizeY()`
`double`
`snapSizeX(double value)`
If this region's snapToPixel property is true, returns a value ceiled to the nearest pixel in the horizontal direction, else returns the same value.
`double`
`snapSizeY(double value)`
If this region's snapToPixel property is true, returns a value ceiled to the nearest pixel in the vertical direction, else returns the same value.
`protected double`
`snapSpace(double value)`
Deprecated.
replaced by `snapSpaceX()` and `snapSpaceY()`
`double`
`snapSpaceX(double value)`
If this region's snapToPixel property is true, returns a value rounded to the nearest pixel in the horizontal direction, else returns the same value.
`double`
`snapSpaceY(double value)`
If this region's snapToPixel property is true, returns a value rounded to the nearest pixel in the vertical direction, else returns the same value.
`final BooleanProperty`
`snapToPixelProperty()`
Defines whether this region adjusts position, spacing, and size values of its children to pixel boundaries.
`final ReadOnlyDoubleProperty`
`widthProperty()`
The width of this resizable node.

### Methods inherited from class javafx.scene.Parent

`getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setNeedsLayout, updateBounds`

### Methods inherited from class javafx.scene.Node

`accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty`

### Methods inherited from class java.lang.Object

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

### Methods inherited from interface javafx.css.Styleable

`getStyleableNode`

## Property Details

### snapToPixel

public final BooleanProperty snapToPixelProperty
Defines whether this region adjusts position, spacing, and size values of its children to pixel boundaries. This defaults to true, which is generally the expected behavior in order to have crisp user interfaces. A value of false will allow for fractional alignment, which may lead to "fuzzy" looking borders.

See Also:
  - `isSnapToPixel()`
  - `setSnapToPixel(boolean)`
  - `snapToPixelProperty()`

### padding

public final ObjectProperty<Insets> paddingProperty
The top, right, bottom, and left padding around the region's content. This space will be included in the calculation of the region's minimum and preferred sizes. By default padding is Insets.EMPTY. Setting the value to null should be avoided.

See Also:
  - `getPadding()`
  - `setPadding(Insets)`
  - `paddingProperty()`

### background

public final ObjectProperty<Background> backgroundProperty
The background of the Region, which is made up of zero or more BackgroundFills, and zero or more BackgroundImages. It is possible for a Background to be empty, where it has neither fills nor images, and is semantically equivalent to null.

Since:
  JavaFX 8.0
See Also:
  - `getBackground()`
  - `setBackground(Background)`
  - `backgroundProperty()`

### border

public final ObjectProperty<Border> borderProperty
The border of the Region, which is made up of zero or more BorderStrokes, and zero or more BorderImages. It is possible for a Border to be empty, where it has neither strokes nor images, and is semantically equivalent to null.

Since:
  JavaFX 8.0
See Also:
  - `getBorder()`
  - `setBorder(Border)`
  - `borderProperty()`

### opaqueInsets

public final ObjectProperty<Insets> opaqueInsetsProperty
Defines the area of the region within which completely opaque pixels are drawn. This is used for various performance optimizations. The pixels within this area MUST BE fully opaque, or rendering artifacts will result. It is the responsibility of the application, either via code or via CSS, to ensure that the opaqueInsets is correct for a Region based on the backgrounds and borders of that region. The values for each of the insets must be real numbers, not NaN or Infinity. If no known insets exist, then the opaqueInsets should be set to null.

Since:
  JavaFX 8.0
See Also:
  - `getOpaqueInsets()`
  - `setOpaqueInsets(Insets)`
  - `opaqueInsetsProperty()`

### insets

public final ReadOnlyObjectProperty<Insets> insetsProperty
The insets of the Region define the distance from the edge of the region (its layout bounds, or (0, 0, width, height)) to the edge of the content area. All child nodes should be laid out within the content area. The insets are computed based on the Border which has been specified, if any, and also the padding.

Since:
  JavaFX 8.0
See Also:
  - `getInsets()`
  - `insetsProperty()`

### width

public final ReadOnlyDoubleProperty widthProperty
The width of this resizable node. This property is set by the region's parent during layout and may not be set by the application. If an application needs to explicitly control the size of a region, it should override its preferred size range by setting the `minWidth`, `prefWidth`, and `maxWidth` properties.

See Also:
  - `getWidth()`
  - `setWidth(double)`
  - `widthProperty()`

### height

public final ReadOnlyDoubleProperty heightProperty
The height of this resizable node. This property is set by the region's parent during layout and may not be set by the application. If an application needs to explicitly control the size of a region, it should override its preferred size range by setting the `minHeight`, `prefHeight`, and `maxHeight` properties.

See Also:
  - `getHeight()`
  - `setHeight(double)`
  - `heightProperty()`

### minWidth

public final DoubleProperty minWidthProperty
Property for overriding the region's computed minimum width. This should only be set if the region's internally computed minimum width doesn't meet the application's layout needs.

Defaults to the `USE_COMPUTED_SIZE` flag, which means that `minWidth(forHeight)` will return the region's internally computed minimum width.

Setting this value to the `USE_PREF_SIZE` flag will cause `minWidth(forHeight)` to return the region's preferred width, enabling applications to easily restrict the resizability of the region.

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

### minHeight

public final DoubleProperty minHeightProperty
Property for overriding the region's computed minimum height. This should only be set if the region's internally computed minimum height doesn't meet the application's layout needs.

Defaults to the `USE_COMPUTED_SIZE` flag, which means that `minHeight(forWidth)` will return the region's internally computed minimum height.

Setting this value to the `USE_PREF_SIZE` flag will cause `minHeight(forWidth)` to return the region's preferred height, enabling applications to easily restrict the resizability of the region.

See Also:
  - `getMinHeight()`
  - `setMinHeight(double)`
  - `minHeightProperty()`

### prefWidth

public final DoubleProperty prefWidthProperty
Property for overriding the region's computed preferred width. This should only be set if the region's internally computed preferred width doesn't meet the application's layout needs.

Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getPrefWidth(forHeight)` will return the region's internally computed preferred width.

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

### prefHeight

public final DoubleProperty prefHeightProperty
Property for overriding the region's computed preferred height. This should only be set if the region's internally computed preferred height doesn't meet the application's layout needs.

Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getPrefHeight(forWidth)` will return the region's internally computed preferred width.

See Also:
  - `getPrefHeight()`
  - `setPrefHeight(double)`
  - `prefHeightProperty()`

### maxWidth

public final DoubleProperty maxWidthProperty
Property for overriding the region's computed maximum width. This should only be set if the region's internally computed maximum width doesn't meet the application's layout needs.

Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getMaxWidth(forHeight)` will return the region's internally computed maximum width.

Setting this value to the `USE_PREF_SIZE` flag will cause `getMaxWidth(forHeight)` to return the region's preferred width, enabling applications to easily restrict the resizability of the region.

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

### maxHeight

public final DoubleProperty maxHeightProperty
Property for overriding the region's computed maximum height. This should only be set if the region's internally computed maximum height doesn't meet the application's layout needs.

Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getMaxHeight(forWidth)` will return the region's internally computed maximum height.

Setting this value to the `USE_PREF_SIZE` flag will cause `getMaxHeight(forWidth)` to return the region's preferred height, enabling applications to easily restrict the resizability of the region.

See Also:
  - `getMaxHeight()`
  - `setMaxHeight(double)`
  - `maxHeightProperty()`

### shape

public final ObjectProperty<Shape> shapeProperty
When specified, the `Shape` will cause the region to be rendered as the specified shape rather than as a rounded rectangle. When null, the Region is rendered as a rounded rectangle. When rendered as a Shape, any Background is used to fill the shape, although any background insets are ignored as are background radii. Any BorderStrokes defined are used for stroking the shape. Any BorderImages are ignored.

Default value:
  null
Since:
  JavaFX 8.0
See Also:
  - `getShape()`
  - `setShape(Shape)`
  - `shapeProperty()`

### scaleShape

public final BooleanProperty scaleShapeProperty
Specifies whether the shape, if defined, is scaled to match the size of the Region. `true` means the shape is scaled to fit the size of the Region, `false` means the shape is at its source size, its positioning depends on the value of `centerShape`.

Default value:
  true
Since:
  JavaFX 8.0
See Also:
  - `isScaleShape()`
  - `setScaleShape(boolean)`
  - `scaleShapeProperty()`

### centerShape

public final BooleanProperty centerShapeProperty
Defines whether the shape is centered within the Region's width or height. `true` means the shape centered within the Region's width and height, `false` means the shape is positioned at its source position.

Default value:
  true
Since:
  JavaFX 8.0
See Also:
  - `isCenterShape()`
  - `setCenterShape(boolean)`
  - `centerShapeProperty()`

### cacheShape

public final BooleanProperty cacheShapeProperty
Defines a hint to the system indicating that the Shape used to define the region's background is stable and would benefit from caching.

Default value:
  true
Since:
  JavaFX 8.0
See Also:
  - `isCacheShape()`
  - `setCacheShape(boolean)`
  - `cacheShapeProperty()`

## Field Details

### USE_PREF_SIZE

public static final double USE_PREF_SIZE
Sentinel value which can be passed to a region's `setMinWidth`, `setMinHeight`, `setMaxWidth` or `setMaxHeight` methods to indicate that the preferred dimension should be used for that max and/or min constraint.

See Also:
  - Constant Field Values

### USE_COMPUTED_SIZE

public static final double USE_COMPUTED_SIZE
Sentinel value which can be passed to a region's `setMinWidth`, `setMinHeight`, `setPrefWidth`, `setPrefHeight`, `setMaxWidth`, `setMaxHeight` methods to reset the region's size constraint back to it's intrinsic size returned by `computeMinWidth`, `computeMinHeight`, `computePrefWidth`, `computePrefHeight`, `computeMaxWidth`, or `computeMaxHeight`.

See Also:
  - Constant Field Values

## Constructor Details

### Region

public Region()
Creates a new Region with an empty Background and and empty Border. The Region defaults to having pickOnBounds set to true, meaning that any pick (mouse picking or touch picking etc) that occurs within the bounds in local of the Region will return true, regardless of whether the Region is filled or transparent.

## Method Details

### isSnapToPixel

public final boolean isSnapToPixel()
Gets the value of the `snapToPixel` property.

Property description:
  Defines whether this region adjusts position, spacing, and size values of its children to pixel boundaries. This defaults to true, which is generally the expected behavior in order to have crisp user interfaces. A value of false will allow for fractional alignment, which may lead to "fuzzy" looking borders.
Returns:
  the value of the `snapToPixel` property
See Also:
  - `setSnapToPixel(boolean)`
  - `snapToPixelProperty()`

### setSnapToPixel

public final void setSnapToPixel(boolean value)
Sets the value of the `snapToPixel` property.

Property description:
  Defines whether this region adjusts position, spacing, and size values of its children to pixel boundaries. This defaults to true, which is generally the expected behavior in order to have crisp user interfaces. A value of false will allow for fractional alignment, which may lead to "fuzzy" looking borders.
Parameters:
  `value` - the value for the `snapToPixel` property
See Also:
  - `isSnapToPixel()`
  - `snapToPixelProperty()`

### snapToPixelProperty

public final BooleanProperty snapToPixelProperty()
Defines whether this region adjusts position, spacing, and size values of its children to pixel boundaries. This defaults to true, which is generally the expected behavior in order to have crisp user interfaces. A value of false will allow for fractional alignment, which may lead to "fuzzy" looking borders.

Returns:
  the `snapToPixel` property
See Also:
  - `isSnapToPixel()`
  - `setSnapToPixel(boolean)`

### setPadding

public final void setPadding(Insets value)
Sets the value of the `padding` property.

Property description:
  The top, right, bottom, and left padding around the region's content. This space will be included in the calculation of the region's minimum and preferred sizes. By default padding is Insets.EMPTY. Setting the value to null should be avoided.
Parameters:
  `value` - the value for the `padding` property
See Also:
  - `getPadding()`
  - `paddingProperty()`

### getPadding

public final Insets getPadding()
Gets the value of the `padding` property.

Property description:
  The top, right, bottom, and left padding around the region's content. This space will be included in the calculation of the region's minimum and preferred sizes. By default padding is Insets.EMPTY. Setting the value to null should be avoided.
Returns:
  the value of the `padding` property
See Also:
  - `setPadding(Insets)`
  - `paddingProperty()`

### paddingProperty

public final ObjectProperty<Insets> paddingProperty()
The top, right, bottom, and left padding around the region's content. This space will be included in the calculation of the region's minimum and preferred sizes. By default padding is Insets.EMPTY. Setting the value to null should be avoided.

Returns:
  the `padding` property
See Also:
  - `getPadding()`
  - `setPadding(Insets)`

### setBackground

public final void setBackground(Background value)
Sets the value of the `background` property.

Property description:
  The background of the Region, which is made up of zero or more BackgroundFills, and zero or more BackgroundImages. It is possible for a Background to be empty, where it has neither fills nor images, and is semantically equivalent to null.
Parameters:
  `value` - the value for the `background` property
Since:
  JavaFX 8.0
See Also:
  - `getBackground()`
  - `backgroundProperty()`

### getBackground

public final Background getBackground()
Gets the value of the `background` property.

Property description:
  The background of the Region, which is made up of zero or more BackgroundFills, and zero or more BackgroundImages. It is possible for a Background to be empty, where it has neither fills nor images, and is semantically equivalent to null.
Returns:
  the value of the `background` property
Since:
  JavaFX 8.0
See Also:
  - `setBackground(Background)`
  - `backgroundProperty()`

### backgroundProperty

public final ObjectProperty<Background> backgroundProperty()
The background of the Region, which is made up of zero or more BackgroundFills, and zero or more BackgroundImages. It is possible for a Background to be empty, where it has neither fills nor images, and is semantically equivalent to null.

Returns:
  the `background` property
Since:
  JavaFX 8.0
See Also:
  - `getBackground()`
  - `setBackground(Background)`

### setBorder

public final void setBorder(Border value)
Sets the value of the `border` property.

Property description:
  The border of the Region, which is made up of zero or more BorderStrokes, and zero or more BorderImages. It is possible for a Border to be empty, where it has neither strokes nor images, and is semantically equivalent to null.
Parameters:
  `value` - the value for the `border` property
Since:
  JavaFX 8.0
See Also:
  - `getBorder()`
  - `borderProperty()`

### getBorder

public final Border getBorder()
Gets the value of the `border` property.

Property description:
  The border of the Region, which is made up of zero or more BorderStrokes, and zero or more BorderImages. It is possible for a Border to be empty, where it has neither strokes nor images, and is semantically equivalent to null.
Returns:
  the value of the `border` property
Since:
  JavaFX 8.0
See Also:
  - `setBorder(Border)`
  - `borderProperty()`

### borderProperty

public final ObjectProperty<Border> borderProperty()
The border of the Region, which is made up of zero or more BorderStrokes, and zero or more BorderImages. It is possible for a Border to be empty, where it has neither strokes nor images, and is semantically equivalent to null.

Returns:
  the `border` property
Since:
  JavaFX 8.0
See Also:
  - `getBorder()`
  - `setBorder(Border)`

### opaqueInsetsProperty

public final ObjectProperty<Insets> opaqueInsetsProperty()
Defines the area of the region within which completely opaque pixels are drawn. This is used for various performance optimizations. The pixels within this area MUST BE fully opaque, or rendering artifacts will result. It is the responsibility of the application, either via code or via CSS, to ensure that the opaqueInsets is correct for a Region based on the backgrounds and borders of that region. The values for each of the insets must be real numbers, not NaN or Infinity. If no known insets exist, then the opaqueInsets should be set to null.

Returns:
  the opaque insets property
Since:
  JavaFX 8.0
See Also:
  - `getOpaqueInsets()`
  - `setOpaqueInsets(Insets)`

### setOpaqueInsets

public final void setOpaqueInsets(Insets value)
Sets the value of the `opaqueInsets` property.

Property description:
  Defines the area of the region within which completely opaque pixels are drawn. This is used for various performance optimizations. The pixels within this area MUST BE fully opaque, or rendering artifacts will result. It is the responsibility of the application, either via code or via CSS, to ensure that the opaqueInsets is correct for a Region based on the backgrounds and borders of that region. The values for each of the insets must be real numbers, not NaN or Infinity. If no known insets exist, then the opaqueInsets should be set to null.
Parameters:
  `value` - the value for the `opaqueInsets` property
Since:
  JavaFX 8.0
See Also:
  - `getOpaqueInsets()`
  - `opaqueInsetsProperty()`

### getOpaqueInsets

public final Insets getOpaqueInsets()
Gets the value of the `opaqueInsets` property.

Property description:
  Defines the area of the region within which completely opaque pixels are drawn. This is used for various performance optimizations. The pixels within this area MUST BE fully opaque, or rendering artifacts will result. It is the responsibility of the application, either via code or via CSS, to ensure that the opaqueInsets is correct for a Region based on the backgrounds and borders of that region. The values for each of the insets must be real numbers, not NaN or Infinity. If no known insets exist, then the opaqueInsets should be set to null.
Returns:
  the value of the `opaqueInsets` property
Since:
  JavaFX 8.0
See Also:
  - `setOpaqueInsets(Insets)`
  - `opaqueInsetsProperty()`

### getInsets

public final Insets getInsets()
Gets the value of the `insets` property.

Property description:
  The insets of the Region define the distance from the edge of the region (its layout bounds, or (0, 0, width, height)) to the edge of the content area. All child nodes should be laid out within the content area. The insets are computed based on the Border which has been specified, if any, and also the padding.
Returns:
  the value of the `insets` property
Since:
  JavaFX 8.0
See Also:
  - `insetsProperty()`

### insetsProperty

public final ReadOnlyObjectProperty<Insets> insetsProperty()
The insets of the Region define the distance from the edge of the region (its layout bounds, or (0, 0, width, height)) to the edge of the content area. All child nodes should be laid out within the content area. The insets are computed based on the Border which has been specified, if any, and also the padding.

Returns:
  the `insets` property
Since:
  JavaFX 8.0
See Also:
  - `getInsets()`

### setWidth

protected void setWidth(double value)
Sets the value of the `width` property.

Property description:
  The width of this resizable node. This property is set by the region's parent during layout and may not be set by the application. If an application needs to explicitly control the size of a region, it should override its preferred size range by setting the `minWidth`, `prefWidth`, and `maxWidth` properties.
Parameters:
  `value` - the value for the `width` property
See Also:
  - `getWidth()`
  - `widthProperty()`

### getWidth

public final double getWidth()
Gets the value of the `width` property.

Property description:
  The width of this resizable node. This property is set by the region's parent during layout and may not be set by the application. If an application needs to explicitly control the size of a region, it should override its preferred size range by setting the `minWidth`, `prefWidth`, and `maxWidth` properties.
Returns:
  the value of the `width` property
See Also:
  - `setWidth(double)`
  - `widthProperty()`

### widthProperty

public final ReadOnlyDoubleProperty widthProperty()
The width of this resizable node. This property is set by the region's parent during layout and may not be set by the application. If an application needs to explicitly control the size of a region, it should override its preferred size range by setting the `minWidth`, `prefWidth`, and `maxWidth` properties.

Returns:
  the `width` property
See Also:
  - `getWidth()`
  - `setWidth(double)`

### setHeight

protected void setHeight(double value)
Sets the value of the `height` property.

Property description:
  The height of this resizable node. This property is set by the region's parent during layout and may not be set by the application. If an application needs to explicitly control the size of a region, it should override its preferred size range by setting the `minHeight`, `prefHeight`, and `maxHeight` properties.
Parameters:
  `value` - the value for the `height` property
See Also:
  - `getHeight()`
  - `heightProperty()`

### getHeight

public final double getHeight()
Gets the value of the `height` property.

Property description:
  The height of this resizable node. This property is set by the region's parent during layout and may not be set by the application. If an application needs to explicitly control the size of a region, it should override its preferred size range by setting the `minHeight`, `prefHeight`, and `maxHeight` properties.
Returns:
  the value of the `height` property
See Also:
  - `setHeight(double)`
  - `heightProperty()`

### heightProperty

public final ReadOnlyDoubleProperty heightProperty()
The height of this resizable node. This property is set by the region's parent during layout and may not be set by the application. If an application needs to explicitly control the size of a region, it should override its preferred size range by setting the `minHeight`, `prefHeight`, and `maxHeight` properties.

Returns:
  the `height` property
See Also:
  - `getHeight()`
  - `setHeight(double)`

### setMinWidth

public final void setMinWidth(double value)
Sets the value of the `minWidth` property.

Property description:
  Property for overriding the region's computed minimum width. This should only be set if the region's internally computed minimum width doesn't meet the application's layout needs.

  Defaults to the `USE_COMPUTED_SIZE` flag, which means that `minWidth(forHeight)` will return the region's internally computed minimum width.

  Setting this value to the `USE_PREF_SIZE` flag will cause `minWidth(forHeight)` to return the region's preferred width, enabling applications to easily restrict the resizability of the region.

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:
  Property for overriding the region's computed minimum width. This should only be set if the region's internally computed minimum width doesn't meet the application's layout needs.

  Defaults to the `USE_COMPUTED_SIZE` flag, which means that `minWidth(forHeight)` will return the region's internally computed minimum width.

  Setting this value to the `USE_PREF_SIZE` flag will cause `minWidth(forHeight)` to return the region's preferred width, enabling applications to easily restrict the resizability of the region.

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

### minWidthProperty

public final DoubleProperty minWidthProperty()
Property for overriding the region's computed minimum width. This should only be set if the region's internally computed minimum width doesn't meet the application's layout needs.

Defaults to the `USE_COMPUTED_SIZE` flag, which means that `minWidth(forHeight)` will return the region's internally computed minimum width.

Setting this value to the `USE_PREF_SIZE` flag will cause `minWidth(forHeight)` to return the region's preferred width, enabling applications to easily restrict the resizability of the region.

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

### setMinHeight

public final void setMinHeight(double value)
Sets the value of the `minHeight` property.

Property description:
  Property for overriding the region's computed minimum height. This should only be set if the region's internally computed minimum height doesn't meet the application's layout needs.

  Defaults to the `USE_COMPUTED_SIZE` flag, which means that `minHeight(forWidth)` will return the region's internally computed minimum height.

  Setting this value to the `USE_PREF_SIZE` flag will cause `minHeight(forWidth)` to return the region's preferred height, enabling applications to easily restrict the resizability of the region.

Parameters:
  `value` - the value for the `minHeight` property
See Also:
  - `getMinHeight()`
  - `minHeightProperty()`

### getMinHeight

public final double getMinHeight()
Gets the value of the `minHeight` property.

Property description:
  Property for overriding the region's computed minimum height. This should only be set if the region's internally computed minimum height doesn't meet the application's layout needs.

  Defaults to the `USE_COMPUTED_SIZE` flag, which means that `minHeight(forWidth)` will return the region's internally computed minimum height.

  Setting this value to the `USE_PREF_SIZE` flag will cause `minHeight(forWidth)` to return the region's preferred height, enabling applications to easily restrict the resizability of the region.

Returns:
  the value of the `minHeight` property
See Also:
  - `setMinHeight(double)`
  - `minHeightProperty()`

### minHeightProperty

public final DoubleProperty minHeightProperty()
Property for overriding the region's computed minimum height. This should only be set if the region's internally computed minimum height doesn't meet the application's layout needs.

Defaults to the `USE_COMPUTED_SIZE` flag, which means that `minHeight(forWidth)` will return the region's internally computed minimum height.

Setting this value to the `USE_PREF_SIZE` flag will cause `minHeight(forWidth)` to return the region's preferred height, enabling applications to easily restrict the resizability of the region.

Returns:
  the `minHeight` property
See Also:
  - `getMinHeight()`
  - `setMinHeight(double)`

### setMinSize

public void setMinSize(double minWidth, double minHeight)
Convenience method for overriding the region's computed minimum width and height. This should only be called if the region's internally computed minimum size doesn't meet the application's layout needs.

Parameters:
  `minWidth` - the override value for minimum width
  `minHeight` - the override value for minimum height
See Also:
  - `setMinWidth(double)`
  - `setMinHeight(double)`

### setPrefWidth

public final void setPrefWidth(double value)
Sets the value of the `prefWidth` property.

Property description:
  Property for overriding the region's computed preferred width. This should only be set if the region's internally computed preferred width doesn't meet the application's layout needs.

  Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getPrefWidth(forHeight)` will return the region's internally computed preferred width.

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:
  Property for overriding the region's computed preferred width. This should only be set if the region's internally computed preferred width doesn't meet the application's layout needs.

  Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getPrefWidth(forHeight)` will return the region's internally computed preferred width.

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

### prefWidthProperty

public final DoubleProperty prefWidthProperty()
Property for overriding the region's computed preferred width. This should only be set if the region's internally computed preferred width doesn't meet the application's layout needs.

Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getPrefWidth(forHeight)` will return the region's internally computed preferred width.

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

### setPrefHeight

public final void setPrefHeight(double value)
Sets the value of the `prefHeight` property.

Property description:
  Property for overriding the region's computed preferred height. This should only be set if the region's internally computed preferred height doesn't meet the application's layout needs.

  Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getPrefHeight(forWidth)` will return the region's internally computed preferred width.

Parameters:
  `value` - the value for the `prefHeight` property
See Also:
  - `getPrefHeight()`
  - `prefHeightProperty()`

### getPrefHeight

public final double getPrefHeight()
Gets the value of the `prefHeight` property.

Property description:
  Property for overriding the region's computed preferred height. This should only be set if the region's internally computed preferred height doesn't meet the application's layout needs.

  Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getPrefHeight(forWidth)` will return the region's internally computed preferred width.

Returns:
  the value of the `prefHeight` property
See Also:
  - `setPrefHeight(double)`
  - `prefHeightProperty()`

### prefHeightProperty

public final DoubleProperty prefHeightProperty()
Property for overriding the region's computed preferred height. This should only be set if the region's internally computed preferred height doesn't meet the application's layout needs.

Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getPrefHeight(forWidth)` will return the region's internally computed preferred width.

Returns:
  the `prefHeight` property
See Also:
  - `getPrefHeight()`
  - `setPrefHeight(double)`

### setPrefSize

public void setPrefSize(double prefWidth, double prefHeight)
Convenience method for overriding the region's computed preferred width and height. This should only be called if the region's internally computed preferred size doesn't meet the application's layout needs.

Parameters:
  `prefWidth` - the override value for preferred width
  `prefHeight` - the override value for preferred height
See Also:
  - `setPrefWidth(double)`
  - `setPrefHeight(double)`

### setMaxWidth

public final void setMaxWidth(double value)
Sets the value of the `maxWidth` property.

Property description:
  Property for overriding the region's computed maximum width. This should only be set if the region's internally computed maximum width doesn't meet the application's layout needs.

  Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getMaxWidth(forHeight)` will return the region's internally computed maximum width.

  Setting this value to the `USE_PREF_SIZE` flag will cause `getMaxWidth(forHeight)` to return the region's preferred width, enabling applications to easily restrict the resizability of the region.

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:
  Property for overriding the region's computed maximum width. This should only be set if the region's internally computed maximum width doesn't meet the application's layout needs.

  Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getMaxWidth(forHeight)` will return the region's internally computed maximum width.

  Setting this value to the `USE_PREF_SIZE` flag will cause `getMaxWidth(forHeight)` to return the region's preferred width, enabling applications to easily restrict the resizability of the region.

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

### maxWidthProperty

public final DoubleProperty maxWidthProperty()
Property for overriding the region's computed maximum width. This should only be set if the region's internally computed maximum width doesn't meet the application's layout needs.

Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getMaxWidth(forHeight)` will return the region's internally computed maximum width.

Setting this value to the `USE_PREF_SIZE` flag will cause `getMaxWidth(forHeight)` to return the region's preferred width, enabling applications to easily restrict the resizability of the region.

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

### setMaxHeight

public final void setMaxHeight(double value)
Sets the value of the `maxHeight` property.

Property description:
  Property for overriding the region's computed maximum height. This should only be set if the region's internally computed maximum height doesn't meet the application's layout needs.

  Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getMaxHeight(forWidth)` will return the region's internally computed maximum height.

  Setting this value to the `USE_PREF_SIZE` flag will cause `getMaxHeight(forWidth)` to return the region's preferred height, enabling applications to easily restrict the resizability of the region.

Parameters:
  `value` - the value for the `maxHeight` property
See Also:
  - `getMaxHeight()`
  - `maxHeightProperty()`

### getMaxHeight

public final double getMaxHeight()
Gets the value of the `maxHeight` property.

Property description:
  Property for overriding the region's computed maximum height. This should only be set if the region's internally computed maximum height doesn't meet the application's layout needs.

  Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getMaxHeight(forWidth)` will return the region's internally computed maximum height.

  Setting this value to the `USE_PREF_SIZE` flag will cause `getMaxHeight(forWidth)` to return the region's preferred height, enabling applications to easily restrict the resizability of the region.

Returns:
  the value of the `maxHeight` property
See Also:
  - `setMaxHeight(double)`
  - `maxHeightProperty()`

### maxHeightProperty

public final DoubleProperty maxHeightProperty()
Property for overriding the region's computed maximum height. This should only be set if the region's internally computed maximum height doesn't meet the application's layout needs.

Defaults to the `USE_COMPUTED_SIZE` flag, which means that `getMaxHeight(forWidth)` will return the region's internally computed maximum height.

Setting this value to the `USE_PREF_SIZE` flag will cause `getMaxHeight(forWidth)` to return the region's preferred height, enabling applications to easily restrict the resizability of the region.

Returns:
  the `maxHeight` property
See Also:
  - `getMaxHeight()`
  - `setMaxHeight(double)`

### setMaxSize

public void setMaxSize(double maxWidth, double maxHeight)
Convenience method for overriding the region's computed maximum width and height. This should only be called if the region's internally computed maximum size doesn't meet the application's layout needs.

Parameters:
  `maxWidth` - the override value for maximum width
  `maxHeight` - the override value for maximum height
See Also:
  - `setMaxWidth(double)`
  - `setMaxHeight(double)`

### getShape

public final Shape getShape()
Gets the value of the `shape` property.

Property description:
  When specified, the `Shape` will cause the region to be rendered as the specified shape rather than as a rounded rectangle. When null, the Region is rendered as a rounded rectangle. When rendered as a Shape, any Background is used to fill the shape, although any background insets are ignored as are background radii. Any BorderStrokes defined are used for stroking the shape. Any BorderImages are ignored.
Default value:
  null
Returns:
  the value of the `shape` property
Since:
  JavaFX 8.0
See Also:
  - `setShape(Shape)`
  - `shapeProperty()`

### setShape

public final void setShape(Shape value)
Sets the value of the `shape` property.

Property description:
  When specified, the `Shape` will cause the region to be rendered as the specified shape rather than as a rounded rectangle. When null, the Region is rendered as a rounded rectangle. When rendered as a Shape, any Background is used to fill the shape, although any background insets are ignored as are background radii. Any BorderStrokes defined are used for stroking the shape. Any BorderImages are ignored.
Default value:
  null
Parameters:
  `value` - the value for the `shape` property
Since:
  JavaFX 8.0
See Also:
  - `getShape()`
  - `shapeProperty()`

### shapeProperty

public final ObjectProperty<Shape> shapeProperty()
When specified, the `Shape` will cause the region to be rendered as the specified shape rather than as a rounded rectangle. When null, the Region is rendered as a rounded rectangle. When rendered as a Shape, any Background is used to fill the shape, although any background insets are ignored as are background radii. Any BorderStrokes defined are used for stroking the shape. Any BorderImages are ignored.

Default value:
  null
Returns:
  the `shape` property
Since:
  JavaFX 8.0
See Also:
  - `getShape()`
  - `setShape(Shape)`

### setScaleShape

public final void setScaleShape(boolean value)
Sets the value of the `scaleShape` property.

Property description:
  Specifies whether the shape, if defined, is scaled to match the size of the Region. `true` means the shape is scaled to fit the size of the Region, `false` means the shape is at its source size, its positioning depends on the value of `centerShape`.
Default value:
  true
Parameters:
  `value` - the value for the `scaleShape` property
Since:
  JavaFX 8.0
See Also:
  - `isScaleShape()`
  - `scaleShapeProperty()`

### isScaleShape

public final boolean isScaleShape()
Gets the value of the `scaleShape` property.

Property description:
  Specifies whether the shape, if defined, is scaled to match the size of the Region. `true` means the shape is scaled to fit the size of the Region, `false` means the shape is at its source size, its positioning depends on the value of `centerShape`.
Default value:
  true
Returns:
  the value of the `scaleShape` property
Since:
  JavaFX 8.0
See Also:
  - `setScaleShape(boolean)`
  - `scaleShapeProperty()`

### scaleShapeProperty

public final BooleanProperty scaleShapeProperty()
Specifies whether the shape, if defined, is scaled to match the size of the Region. `true` means the shape is scaled to fit the size of the Region, `false` means the shape is at its source size, its positioning depends on the value of `centerShape`.

Default value:
  true
Returns:
  the `scaleShape` property
Since:
  JavaFX 8.0
See Also:
  - `isScaleShape()`
  - `setScaleShape(boolean)`

### setCenterShape

public final void setCenterShape(boolean value)
Sets the value of the `centerShape` property.

Property description:
  Defines whether the shape is centered within the Region's width or height. `true` means the shape centered within the Region's width and height, `false` means the shape is positioned at its source position.
Default value:
  true
Parameters:
  `value` - the value for the `centerShape` property
Since:
  JavaFX 8.0
See Also:
  - `isCenterShape()`
  - `centerShapeProperty()`

### isCenterShape

public final boolean isCenterShape()
Gets the value of the `centerShape` property.

Property description:
  Defines whether the shape is centered within the Region's width or height. `true` means the shape centered within the Region's width and height, `false` means the shape is positioned at its source position.
Default value:
  true
Returns:
  the value of the `centerShape` property
Since:
  JavaFX 8.0
See Also:
  - `setCenterShape(boolean)`
  - `centerShapeProperty()`

### centerShapeProperty

public final BooleanProperty centerShapeProperty()
Defines whether the shape is centered within the Region's width or height. `true` means the shape centered within the Region's width and height, `false` means the shape is positioned at its source position.

Default value:
  true
Returns:
  the `centerShape` property
Since:
  JavaFX 8.0
See Also:
  - `isCenterShape()`
  - `setCenterShape(boolean)`

### setCacheShape

public final void setCacheShape(boolean value)
Sets the value of the `cacheShape` property.

Property description:
  Defines a hint to the system indicating that the Shape used to define the region's background is stable and would benefit from caching.
Default value:
  true
Parameters:
  `value` - the value for the `cacheShape` property
Since:
  JavaFX 8.0
See Also:
  - `isCacheShape()`
  - `cacheShapeProperty()`

### isCacheShape

public final boolean isCacheShape()
Gets the value of the `cacheShape` property.

Property description:
  Defines a hint to the system indicating that the Shape used to define the region's background is stable and would benefit from caching.
Default value:
  true
Returns:
  the value of the `cacheShape` property
Since:
  JavaFX 8.0
See Also:
  - `setCacheShape(boolean)`
  - `cacheShapeProperty()`

### cacheShapeProperty

public final BooleanProperty cacheShapeProperty()
Defines a hint to the system indicating that the Shape used to define the region's background is stable and would benefit from caching.

Default value:
  true
Returns:
  the `cacheShape` property
Since:
  JavaFX 8.0
See Also:
  - `isCacheShape()`
  - `setCacheShape(boolean)`

### isResizable

public boolean isResizable()
Returns `true` since all Regions are resizable.

Overrides:
  `isResizable` in class `Node`
Returns:
  whether this node can be resized by its parent during layout
See Also:
  - `Node.getContentBias()`
  - `Node.minWidth(double)`
  - `Node.minHeight(double)`
  - `Node.prefWidth(double)`
  - `Node.prefHeight(double)`
  - `Node.maxWidth(double)`
  - `Node.maxHeight(double)`
  - `Node.resize(double, double)`
  - `Node.getLayoutBounds()`

### resize

public void resize(double width, double height)
Invoked by the region's parent during layout to set the region's width and height. Applications should not invoke this method directly. If an application needs to directly set the size of the region, it should override its size constraints by calling `setMinSize()`, `setPrefSize()`, or `setMaxSize()` and it's parent will honor those overrides during layout.

Overrides:
  `resize` in class `Node`
Parameters:
  `width` - the target layout bounds width
  `height` - the target layout bounds height
See Also:
  - `Node.isResizable()`
  - `Node.getContentBias()`
  - `Node.autosize()`
  - `Node.minWidth(double)`
  - `Node.minHeight(double)`
  - `Node.prefWidth(double)`
  - `Node.prefHeight(double)`
  - `Node.maxWidth(double)`
  - `Node.maxHeight(double)`
  - `Node.getLayoutBounds()`

### minWidth

public final double minWidth(double height)
Called during layout to determine the minimum width for this node. Returns the value from `computeMinWidth(forHeight)` unless the application overrode the minimum width by setting the minWidth property.

Overrides:
  `minWidth` in class `Parent`
Parameters:
  `height` - the height that should be used if minimum width depends on it
Returns:
  the minimum width that this node should be resized to during layout
See Also:
  - `setMinWidth(double)`

### minHeight

public final double minHeight(double width)
Called during layout to determine the minimum height for this node. Returns the value from `computeMinHeight(forWidth)` unless the application overrode the minimum height by setting the minHeight property.

Overrides:
  `minHeight` in class `Parent`
Parameters:
  `width` - the width that should be used if minimum height depends on it
Returns:
  the minimum height that this node should be resized to during layout
See Also:
  - `setMinHeight(double)`

### prefWidth

public final double prefWidth(double height)
Called during layout to determine the preferred width for this node. Returns the value from `computePrefWidth(forHeight)` unless the application overrode the preferred width by setting the prefWidth property.

Overrides:
  `prefWidth` in class `Parent`
Parameters:
  `height` - the height that should be used if preferred width depends on it
Returns:
  the preferred width that this node should be resized to during layout
See Also:
  - `setPrefWidth(double)`

### prefHeight

public final double prefHeight(double width)
Called during layout to determine the preferred height for this node. Returns the value from `computePrefHeight(forWidth)` unless the application overrode the preferred height by setting the prefHeight property.

Overrides:
  `prefHeight` in class `Parent`
Parameters:
  `width` - the width that should be used if preferred height depends on it
Returns:
  the preferred height that this node should be resized to during layout
See Also:
  - `setPrefHeight(double)`

### maxWidth

public final double maxWidth(double height)
Called during layout to determine the maximum width for this node. Returns the value from `computeMaxWidth(forHeight)` unless the application overrode the maximum width by setting the maxWidth property.

Overrides:
  `maxWidth` in class `Node`
Parameters:
  `height` - the height that should be used if maximum width depends on it
Returns:
  the maximum width that this node should be resized to during layout
See Also:
  - `setMaxWidth(double)`

### maxHeight

public final double maxHeight(double width)
Called during layout to determine the maximum height for this node. Returns the value from `computeMaxHeight(forWidth)` unless the application overrode the maximum height by setting the maxHeight property.

Overrides:
  `maxHeight` in class `Node`
Parameters:
  `width` - the width that should be used if maximum height depends on it
Returns:
  the maximum height that this node should be resized to during layout
See Also:
  - `setMaxHeight(double)`

### computeMinWidth

protected double computeMinWidth(double height)
Computes the minimum width of this region. Returns the sum of the left and right insets by default. region subclasses should override this method to return an appropriate value based on their content and layout strategy. If the subclass doesn't have a VERTICAL content bias, then the height parameter can be ignored.

Overrides:
  `computeMinWidth` in class `Parent`
Parameters:
  `height` - the height that should be used if min width depends on it
Returns:
  the computed minimum width of this region

### computeMinHeight

protected double computeMinHeight(double width)
Computes the minimum height of this region. Returns the sum of the top and bottom insets by default. Region subclasses should override this method to return an appropriate value based on their content and layout strategy. If the subclass doesn't have a HORIZONTAL content bias, then the width parameter can be ignored.

Overrides:
  `computeMinHeight` in class `Parent`
Parameters:
  `width` - the width that should be used if min height depends on it
Returns:
  the computed minimum height for this region

### computePrefWidth

protected double computePrefWidth(double height)
Computes the preferred width of this region for the given height. Region subclasses should override this method to return an appropriate value based on their content and layout strategy. If the subclass doesn't have a VERTICAL content bias, then the height parameter can be ignored.

Overrides:
  `computePrefWidth` in class `Parent`
Parameters:
  `height` - the height that should be used if preferred width depends on it
Returns:
  the computed preferred width for this region

### computePrefHeight

protected double computePrefHeight(double width)
Computes the preferred height of this region for the given width; Region subclasses should override this method to return an appropriate value based on their content and layout strategy. If the subclass doesn't have a HORIZONTAL content bias, then the width parameter can be ignored.

Overrides:
  `computePrefHeight` in class `Parent`
Parameters:
  `width` - the width that should be used if preferred height depends on it
Returns:
  the computed preferred height for this region

### computeMaxWidth

protected double computeMaxWidth(double height)
Computes the maximum width for this region. Returns Double.MAX_VALUE by default. Region subclasses may override this method to return an different value based on their content and layout strategy. If the subclass doesn't have a VERTICAL content bias, then the height parameter can be ignored.

Parameters:
  `height` - The height of the Region, in case this value might dictate the maximum width
Returns:
  the computed maximum width for this region

### computeMaxHeight

protected double computeMaxHeight(double width)
Computes the maximum height of this region. Returns Double.MAX_VALUE by default. Region subclasses may override this method to return a different value based on their content and layout strategy. If the subclass doesn't have a HORIZONTAL content bias, then the width parameter can be ignored.

Parameters:
  `width` - The width of the Region, in case this value might dictate the maximum height
Returns:
  the computed maximum height for this region

### snapSpace

@Deprecated(since="9") protected double snapSpace(double value)
Deprecated.
replaced by `snapSpaceX()` and `snapSpaceY()`
If this region's snapToPixel property is false, this method returns the same value, else it tries to return a value rounded to the nearest pixel, but since there is no indication if the value is a vertical or horizontal measurement then it may be snapped to the wrong pixel size metric on screens with different horizontal and vertical scales.

Parameters:
  `value` - the space value to be snapped
Returns:
  value rounded to nearest pixel

### snapSpaceX

public double snapSpaceX(double value)
If this region's snapToPixel property is true, returns a value rounded to the nearest pixel in the horizontal direction, else returns the same value.

Parameters:
  `value` - the space value to be snapped
Returns:
  value rounded to nearest pixel
Since:
  9

### snapSpaceY

public double snapSpaceY(double value)
If this region's snapToPixel property is true, returns a value rounded to the nearest pixel in the vertical direction, else returns the same value.

Parameters:
  `value` - the space value to be snapped
Returns:
  value rounded to nearest pixel
Since:
  9

### snapSize

@Deprecated(since="9") protected double snapSize(double value)
Deprecated.
replaced by `snapSizeX()` and `snapSizeY()`
If this region's snapToPixel property is false, this method returns the same value, else it tries to return a value ceiled to the nearest pixel, but since there is no indication if the value is a vertical or horizontal measurement then it may be snapped to the wrong pixel size metric on screens with different horizontal and vertical scales.

Parameters:
  `value` - the size value to be snapped
Returns:
  value ceiled to nearest pixel

### snapSizeX

public double snapSizeX(double value)
If this region's snapToPixel property is true, returns a value ceiled to the nearest pixel in the horizontal direction, else returns the same value.

Parameters:
  `value` - the size value to be snapped
Returns:
  value ceiled to nearest pixel
Since:
  9

### snapSizeY

public double snapSizeY(double value)
If this region's snapToPixel property is true, returns a value ceiled to the nearest pixel in the vertical direction, else returns the same value.

Parameters:
  `value` - the size value to be snapped
Returns:
  value ceiled to nearest pixel
Since:
  9

### snapPosition

@Deprecated(since="9") protected double snapPosition(double value)
Deprecated.
replaced by `snapPositionX()` and `snapPositionY()`
If this region's snapToPixel property is false, this method returns the same value, else it tries to return a value rounded to the nearest pixel, but since there is no indication if the value is a vertical or horizontal measurement then it may be snapped to the wrong pixel size metric on screens with different horizontal and vertical scales.

Parameters:
  `value` - the position value to be snapped
Returns:
  value rounded to nearest pixel

### snapPositionX

public double snapPositionX(double value)
If this region's snapToPixel property is true, returns a value rounded to the nearest pixel in the horizontal direction, else returns the same value.

Parameters:
  `value` - the position value to be snapped
Returns:
  value rounded to nearest pixel
Since:
  9

### snapPositionY

public double snapPositionY(double value)
If this region's snapToPixel property is true, returns a value rounded to the nearest pixel in the vertical direction, else returns the same value.

Parameters:
  `value` - the position value to be snapped
Returns:
  value rounded to nearest pixel
Since:
  9

### snappedTopInset

public final double snappedTopInset()
Utility method to get the top inset which includes padding and border inset. Then snapped to whole pixels if isSnapToPixel() is true.

Returns:
  Rounded up insets top
Since:
  JavaFX 8.0

### snappedBottomInset

public final double snappedBottomInset()
Utility method to get the bottom inset which includes padding and border inset. Then snapped to whole pixels if isSnapToPixel() is true.

Returns:
  Rounded up insets bottom
Since:
  JavaFX 8.0

### snappedLeftInset

public final double snappedLeftInset()
Utility method to get the left inset which includes padding and border inset. Then snapped to whole pixels if isSnapToPixel() is true.

Returns:
  Rounded up insets left
Since:
  JavaFX 8.0

### snappedRightInset

public final double snappedRightInset()
Utility method to get the right inset which includes padding and border inset. Then snapped to whole pixels if isSnapToPixel() is true.

Returns:
  Rounded up insets right
Since:
  JavaFX 8.0

### positionInArea

protected void positionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment)
Utility method which positions the child within an area of this region defined by `areaX`, `areaY`, `areaWidth` x `areaHeight`, with a baseline offset relative to that area.

This function does not resize the node and uses the node's layout bounds width and height to determine how it should be positioned within the area.

If the vertical alignment is `VPos.BASELINE` then it will position the node so that its own baseline aligns with the passed in `baselineOffset`, otherwise the baseline parameter is ignored.

If `snapToPixel` is `true` for this region, then the x/y position values will be rounded to their nearest pixel boundaries.

Parameters:
  `child` - the child being positioned within this region
  `areaX` - the horizontal offset of the layout area relative to this region
  `areaY` - the vertical offset of the layout area relative to this region
  `areaWidth` - the width of the layout area
  `areaHeight` - the height of the layout area
  `areaBaselineOffset` - the baseline offset to be used if VPos is BASELINE
  `halignment` - the horizontal alignment for the child within the area
  `valignment` - the vertical alignment for the child within the area

### positionInArea

public static void positionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment, boolean isSnapToPixel)
Utility method which positions the child within an area of this region defined by `areaX`, `areaY`, `areaWidth` x `areaHeight`, with a baseline offset relative to that area.

This function does not resize the node and uses the node's layout bounds width and height to determine how it should be positioned within the area.

If the vertical alignment is `VPos.BASELINE` then it will position the node so that its own baseline aligns with the passed in `baselineOffset`, otherwise the baseline parameter is ignored.

If `snapToPixel` is `true` for this region, then the x/y position values will be rounded to their nearest pixel boundaries.

If `margin` is non-null, then that space will be allocated around the child within the layout area. margin may be null.

Parameters:
  `child` - the child being positioned within this region
  `areaX` - the horizontal offset of the layout area relative to this region
  `areaY` - the vertical offset of the layout area relative to this region
  `areaWidth` - the width of the layout area
  `areaHeight` - the height of the layout area
  `areaBaselineOffset` - the baseline offset to be used if VPos is BASELINE
  `margin` - the margin of space to be allocated around the child
  `halignment` - the horizontal alignment for the child within the area
  `valignment` - the vertical alignment for the child within the area
  `isSnapToPixel` - whether to snap size and position to pixels
Since:
  JavaFX 8.0

### layoutInArea

protected void layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment)
Utility method which lays out the child within an area of this region defined by `areaX`, `areaY`, `areaWidth` x `areaHeight`, with a baseline offset relative to that area.

If the child is resizable, this method will resize it to fill the specified area unless the node's maximum size prevents it. If the node's maximum size preference is less than the area size, the maximum size will be used. If node's maximum is greater than the area size, then the node will be resized to fit within the area, unless its minimum size prevents it.

If the child has a non-null contentBias, then this method will use it when resizing the child. If the contentBias is horizontal, it will set its width first to the area's width (up to the child's max width limit) and then pass that value to compute the child's height. If child's contentBias is vertical, then it will set its height to the area height (up to child's max height limit) and pass that height to compute the child's width. If the child's contentBias is null, then it's width and height have no dependencies on each other.

If the child is not resizable (Shape, Group, etc) then it will only be positioned and not resized.

If the child's resulting size differs from the area's size (either because it was not resizable or it's sizing preferences prevented it), then this function will align the node relative to the area using horizontal and vertical alignment values. If valignment is `VPos.BASELINE` then the node's baseline will be aligned with the area baseline offset parameter, otherwise the baseline parameter is ignored.

If `snapToPixel` is `true` for this region, then the resulting x,y values will be rounded to their nearest pixel boundaries and the width/height values will be ceiled to the next pixel boundary.

Parameters:
  `child` - the child being positioned within this region
  `areaX` - the horizontal offset of the layout area relative to this region
  `areaY` - the vertical offset of the layout area relative to this region
  `areaWidth` - the width of the layout area
  `areaHeight` - the height of the layout area
  `areaBaselineOffset` - the baseline offset to be used if VPos is BASELINE
  `halignment` - the horizontal alignment for the child within the area
  `valignment` - the vertical alignment for the child within the area

### layoutInArea

protected void layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment)
Utility method which lays out the child within an area of this region defined by `areaX`, `areaY`, `areaWidth` x `areaHeight`, with a baseline offset relative to that area.

If the child is resizable, this method will resize it to fill the specified area unless the node's maximum size prevents it. If the node's maximum size preference is less than the area size, the maximum size will be used. If node's maximum is greater than the area size, then the node will be resized to fit within the area, unless its minimum size prevents it.

If the child has a non-null contentBias, then this method will use it when resizing the child. If the contentBias is horizontal, it will set its width first to the area's width (up to the child's max width limit) and then pass that value to compute the child's height. If child's contentBias is vertical, then it will set its height to the area height (up to child's max height limit) and pass that height to compute the child's width. If the child's contentBias is null, then it's width and height have no dependencies on each other.

If the child is not resizable (Shape, Group, etc) then it will only be positioned and not resized.

If the child's resulting size differs from the area's size (either because it was not resizable or it's sizing preferences prevented it), then this function will align the node relative to the area using horizontal and vertical alignment values. If valignment is `VPos.BASELINE` then the node's baseline will be aligned with the area baseline offset parameter, otherwise the baseline parameter is ignored.

If `margin` is non-null, then that space will be allocated around the child within the layout area. margin may be null.

If `snapToPixel` is `true` for this region, then the resulting x,y values will be rounded to their nearest pixel boundaries and the width/height values will be ceiled to the next pixel boundary.

Parameters:
  `child` - the child being positioned within this region
  `areaX` - the horizontal offset of the layout area relative to this region
  `areaY` - the vertical offset of the layout area relative to this region
  `areaWidth` - the width of the layout area
  `areaHeight` - the height of the layout area
  `areaBaselineOffset` - the baseline offset to be used if VPos is BASELINE
  `margin` - the margin of space to be allocated around the child
  `halignment` - the horizontal alignment for the child within the area
  `valignment` - the vertical alignment for the child within the area

### layoutInArea

protected void layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, boolean fillWidth, boolean fillHeight, HPos halignment, VPos valignment)
Utility method which lays out the child within an area of this region defined by `areaX`, `areaY`, `areaWidth` x `areaHeight`, with a baseline offset relative to that area.

If the child is resizable, this method will use `fillWidth` and `fillHeight` to determine whether to resize it to fill the area or keep the child at its preferred dimension. If fillWidth/fillHeight are true, then this method will only resize the child up to its max size limits. If the node's maximum size preference is less than the area size, the maximum size will be used. If node's maximum is greater than the area size, then the node will be resized to fit within the area, unless its minimum size prevents it.

If the child has a non-null contentBias, then this method will use it when resizing the child. If the contentBias is horizontal, it will set its width first and then pass that value to compute the child's height. If child's contentBias is vertical, then it will set its height first and pass that value to compute the child's width. If the child's contentBias is null, then it's width and height have no dependencies on each other.

If the child is not resizable (Shape, Group, etc) then it will only be positioned and not resized.

If the child's resulting size differs from the area's size (either because it was not resizable or it's sizing preferences prevented it), then this function will align the node relative to the area using horizontal and vertical alignment values. If valignment is `VPos.BASELINE` then the node's baseline will be aligned with the area baseline offset parameter, otherwise the baseline parameter is ignored.

If `margin` is non-null, then that space will be allocated around the child within the layout area. margin may be null.

If `snapToPixel` is `true` for this region, then the resulting x,y values will be rounded to their nearest pixel boundaries and the width/height values will be ceiled to the next pixel boundary.

Parameters:
  `child` - the child being positioned within this region
  `areaX` - the horizontal offset of the layout area relative to this region
  `areaY` - the vertical offset of the layout area relative to this region
  `areaWidth` - the width of the layout area
  `areaHeight` - the height of the layout area
  `areaBaselineOffset` - the baseline offset to be used if VPos is BASELINE
  `margin` - the margin of space to be allocated around the child
  `fillWidth` - whether or not the child should be resized to fill the area width or kept to its preferred width
  `fillHeight` - whether or not the child should e resized to fill the area height or kept to its preferred height
  `halignment` - the horizontal alignment for the child within the area
  `valignment` - the vertical alignment for the child within the area

### layoutInArea

public static void layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, boolean fillWidth, boolean fillHeight, HPos halignment, VPos valignment, boolean isSnapToPixel)
Utility method which lays out the child within an area of it's parent defined by `areaX`, `areaY`, `areaWidth` x `areaHeight`, with a baseline offset relative to that area.

If the child is resizable, this method will use `fillWidth` and `fillHeight` to determine whether to resize it to fill the area or keep the child at its preferred dimension. If fillWidth/fillHeight are true, then this method will only resize the child up to its max size limits. If the node's maximum size preference is less than the area size, the maximum size will be used. If node's maximum is greater than the area size, then the node will be resized to fit within the area, unless its minimum size prevents it.

If the child has a non-null contentBias, then this method will use it when resizing the child. If the contentBias is horizontal, it will set its width first and then pass that value to compute the child's height. If child's contentBias is vertical, then it will set its height first and pass that value to compute the child's width. If the child's contentBias is null, then it's width and height have no dependencies on each other.

If the child is not resizable (Shape, Group, etc) then it will only be positioned and not resized.

If the child's resulting size differs from the area's size (either because it was not resizable or it's sizing preferences prevented it), then this function will align the node relative to the area using horizontal and vertical alignment values. If valignment is `VPos.BASELINE` then the node's baseline will be aligned with the area baseline offset parameter, otherwise the baseline parameter is ignored.

If `margin` is non-null, then that space will be allocated around the child within the layout area. margin may be null.

If `snapToPixel` is `true` for this region, then the resulting x,y values will be rounded to their nearest pixel boundaries and the width/height values will be ceiled to the next pixel boundary.

Parameters:
  `child` - the child being positioned within this region
  `areaX` - the horizontal offset of the layout area relative to this region
  `areaY` - the vertical offset of the layout area relative to this region
  `areaWidth` - the width of the layout area
  `areaHeight` - the height of the layout area
  `areaBaselineOffset` - the baseline offset to be used if VPos is BASELINE
  `margin` - the margin of space to be allocated around the child
  `fillWidth` - whether or not the child should be resized to fill the area width or kept to its preferred width
  `fillHeight` - whether or not the child should e resized to fill the area height or kept to its preferred height
  `halignment` - the horizontal alignment for the child within the area
  `valignment` - the vertical alignment for the child within the area
  `isSnapToPixel` - whether to snap size and position to pixels
Since:
  JavaFX 8.0

### getUserAgentStylesheet

public String getUserAgentStylesheet()
An implementation may specify its own user-agent styles for this Region, and its children, by overriding this method. These styles are used in addition to whatever user-agent stylesheets are in use. This provides a mechanism for third parties to introduce styles for custom controls.

The URL is a hierarchical URI of the form [scheme:][//authority][path]. If the URL does not have a [scheme:] component, the URL is considered to be the [path] component only. Any leading '/' character of the [path] is ignored and the [path] is treated as a path relative to the root of the application's classpath.

Subclasses overriding this method should not assume any particular implementation approach as to the number and frequency with which it is called. For this reason, attempting any kind of dynamic implementation (i.e. returning different user agent stylesheet values) based on some state change is highly discouraged, as there is no guarantee when, or even if, this method will be called. Some JavaFX CSS implementations may choose to cache this response for an indefinite period of time, and therefore there should be no expectation around when this method is called.

     package com.example.javafx.app;

     import javafx.application.Application;
     import javafx.scene.Group;
     import javafx.scene.Scene;
     import javafx.stage.Stage;

     public class MyApp extends Application {

         @Override public void start(Stage stage) {
             Scene scene = new Scene(new Group());
             scene.getStylesheets().add("/com/example/javafx/app/mystyles.css");
             stage.setScene(scene);
             stage.show();
         }

         public static void main(String[] args) {
             launch(args);
         }
     }

For additional information about using CSS with the scene graph, see the CSS Reference Guide.

Returns:
  A string URL
Since:
  JavaFX 8u40

### getClassCssMetaData

public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()

Returns:
  The CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
Since:
  JavaFX 8.0

### getCssMetaData

public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
This method should delegate to `Node.getClassCssMetaData()` so that a Node's CssMetaData can be accessed without the need for reflection.

Specified by:
  `getCssMetaData` in interface `Styleable`
Overrides:
  `getCssMetaData` in class `Node`
Returns:
  The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.
Since:
  JavaFX 8.0