Region (JavaFX 13)

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
    --- | --- | ---
    `ObjectProperty<Background>` | `background` | The background of the Region, which is made up of zero or more BackgroundFills, and zero or more BackgroundImages.
    `ObjectProperty<Border>` | `border` | The border of the Region, which is made up of zero or more BorderStrokes, and zero or more BorderImages.
    `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.
    `BooleanProperty` | `centerShape` | Defines whether the shape is centered within the Region's width or height.
    `ReadOnlyDoubleProperty` | `height` | The height of this resizable node.
    `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.
    `DoubleProperty` | `maxHeight` | Property for overriding the region's computed maximum height.
    `DoubleProperty` | `maxWidth` | Property for overriding the region's computed maximum width.
    `DoubleProperty` | `minHeight` | Property for overriding the region's computed minimum height.
    `DoubleProperty` | `minWidth` | Property for overriding the region's computed minimum width.
    `ObjectProperty<Insets>` | `opaqueInsets` | Defines the area of the region within which completely opaque pixels are drawn.
    `ObjectProperty<Insets>` | `padding` | The top, right, bottom, and left padding around the region's content.
    `DoubleProperty` | `prefHeight` | Property for overriding the region's computed preferred height.
    `DoubleProperty` | `prefWidth` | Property for overriding the region's computed preferred width.
    `BooleanProperty` | `scaleShape` | Specifies whether the shape, if defined, is scaled to match the size of the Region.
    `ObjectProperty<Shape>` | `shape` | When specified, the `Shape` will cause the region to be rendered as the specified shape rather than as a rounded rectangle.
    `BooleanProperty` | `snapToPixel` | Defines whether this region adjusts position, spacing, and size values of its children to pixel boundaries.
    `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 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 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

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ObjectProperty<Background>` | `backgroundProperty()` | The background of the Region, which is made up of zero or more BackgroundFills, and zero or more BackgroundImages.
    `ObjectProperty<Border>` | `borderProperty()` | The border of the Region, which is made up of zero or more BorderStrokes, and zero or more BorderImages.
    `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.
    `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.
    `Background` | `getBackground()` | Gets the value of the property background.
    `Border` | `getBorder()` | Gets the value of the property border.
    `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.
    `double` | `getHeight()` | Gets the value of the property height.
    `Insets` | `getInsets()` | Gets the value of the property insets.
    `double` | `getMaxHeight()` | Gets the value of the property maxHeight.
    `double` | `getMaxWidth()` | Gets the value of the property maxWidth.
    `double` | `getMinHeight()` | Gets the value of the property minHeight.
    `double` | `getMinWidth()` | Gets the value of the property minWidth.
    `Insets` | `getOpaqueInsets()` | Gets the value of the property opaqueInsets.
    `Insets` | `getPadding()` | Gets the value of the property padding.
    `double` | `getPrefHeight()` | Gets the value of the property prefHeight.
    `double` | `getPrefWidth()` | Gets the value of the property prefWidth.
    `Shape` | `getShape()` | Gets the value of the property shape.
    `String` | `getUserAgentStylesheet()` | An implementation may specify its own user-agent styles for this Region, and its children, by overriding this method.
    `double` | `getWidth()` | Gets the value of the property width.
    `ReadOnlyDoubleProperty` | `heightProperty()` | The height of this resizable node.
    `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.
    `boolean` | `isCacheShape()` | Gets the value of the property cacheShape.
    `boolean` | `isCenterShape()` | Gets the value of the property centerShape.
    `boolean` | `isResizable()` | Returns `true` since all Regions are resizable.
    `boolean` | `isScaleShape()` | Gets the value of the property scaleShape.
    `boolean` | `isSnapToPixel()` | Gets the value of the property snapToPixel.
    `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.
    `double` | `maxHeight​(double width)` | Called during layout to determine the maximum height for this node.
    `DoubleProperty` | `maxHeightProperty()` | Property for overriding the region's computed maximum height.
    `double` | `maxWidth​(double height)` | Called during layout to determine the maximum width for this node.
    `DoubleProperty` | `maxWidthProperty()` | Property for overriding the region's computed maximum width.
    `double` | `minHeight​(double width)` | Called during layout to determine the minimum height for this node.
    `DoubleProperty` | `minHeightProperty()` | Property for overriding the region's computed minimum height.
    `double` | `minWidth​(double height)` | Called during layout to determine the minimum width for this node.
    `DoubleProperty` | `minWidthProperty()` | Property for overriding the region's computed minimum width.
    `ObjectProperty<Insets>` | `opaqueInsetsProperty()` | Defines the area of the region within which completely opaque pixels are drawn.
    `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.
    `double` | `prefHeight​(double width)` | Called during layout to determine the preferred height for this node.
    `DoubleProperty` | `prefHeightProperty()` | Property for overriding the region's computed preferred height.
    `double` | `prefWidth​(double height)` | Called during layout to determine the preferred width for this node.
    `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.
    `BooleanProperty` | `scaleShapeProperty()` | Specifies whether the shape, if defined, is scaled to match the size of the Region.
    `void` | `setBackground​(Background value)` | Sets the value of the property background.
    `void` | `setBorder​(Border value)` | Sets the value of the property border.
    `void` | `setCacheShape​(boolean value)` | Sets the value of the property cacheShape.
    `void` | `setCenterShape​(boolean value)` | Sets the value of the property centerShape.
    `protected void` | `setHeight​(double value)` | Sets the value of the property height.
    `void` | `setMaxHeight​(double value)` | Sets the value of the property maxHeight.
    `void` | `setMaxSize​(double maxWidth, double maxHeight)` | Convenience method for overriding the region's computed maximum width and height.
    `void` | `setMaxWidth​(double value)` | Sets the value of the property maxWidth.
    `void` | `setMinHeight​(double value)` | Sets the value of the property minHeight.
    `void` | `setMinSize​(double minWidth, double minHeight)` | Convenience method for overriding the region's computed minimum width and height.
    `void` | `setMinWidth​(double value)` | Sets the value of the property minWidth.
    `void` | `setOpaqueInsets​(Insets value)` | Sets the value of the property opaqueInsets.
    `void` | `setPadding​(Insets value)` | Sets the value of the property padding.
    `void` | `setPrefHeight​(double value)` | Sets the value of the property prefHeight.
    `void` | `setPrefSize​(double prefWidth, double prefHeight)` | Convenience method for overriding the region's computed preferred width and height.
    `void` | `setPrefWidth​(double value)` | Sets the value of the property prefWidth.
    `void` | `setScaleShape​(boolean value)` | Sets the value of the property scaleShape.
    `void` | `setShape​(Shape value)` | Sets the value of the property shape.
    `void` | `setSnapToPixel​(boolean value)` | Sets the value of the property snapToPixel.
    `protected void` | `setWidth​(double value)` | Sets the value of the property width.
    `ObjectProperty<Shape>` | `shapeProperty()` | When specified, the `Shape` will cause the region to be rendered as the specified shape rather than as a rounded rectangle.
    `double` | `snappedBottomInset()` | Utility method to get the bottom inset which includes padding and border inset.
    `double` | `snappedLeftInset()` | Utility method to get the left inset which includes padding and border inset.
    `double` | `snappedRightInset()` | Utility method to get the right inset which includes padding and border inset.
    `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.
    `BooleanProperty` | `snapToPixelProperty()` | Defines whether this region adjusts position, spacing, and size values of its children to pixel boundaries.
    `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 Detail

    - #### 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)`

    - #### 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)`

    - #### 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)`

    - #### 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)`

    - #### 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)`

    - #### 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()`

    - #### 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)`

    - #### 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)`

    - #### 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)`

    - #### 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)`

    - #### 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)`

    - #### 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)`

    - #### 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)`

    - #### 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)`

    - #### 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)`

    - #### 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)`

    - #### 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)`

    - #### 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)`

  - ### Field Detail

    - #### 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 Detail

    - #### 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 Detail

    - #### isSnapToPixel

          public final boolean isSnapToPixel()

      Gets the value of the property snapToPixel.
      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.

    - #### setSnapToPixel

          public final void setSnapToPixel​(boolean value)

      Sets the value of the property snapToPixel.
      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.

    - #### 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.
      See Also:
        `isSnapToPixel()`, `setSnapToPixel(boolean)`

    - #### setPadding

          public final void setPadding​(Insets value)

      Sets the value of the property padding.
      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.

    - #### getPadding

          public final Insets getPadding()

      Gets the value of the property padding.
      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.

    - #### 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.
      See Also:
        `getPadding()`, `setPadding(Insets)`

    - #### setBackground

          public final void setBackground​(Background value)

      Sets the value of the property background.
      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.
      Since:
        JavaFX 8.0

    - #### getBackground

          public final Background getBackground()

      Gets the value of the property background.
      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.
      Since:
        JavaFX 8.0

    - #### 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.
      Since:
        JavaFX 8.0
      See Also:
        `getBackground()`, `setBackground(Background)`

    - #### setBorder

          public final void setBorder​(Border value)

      Sets the value of the property border.
      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.
      Since:
        JavaFX 8.0

    - #### getBorder

          public final Border getBorder()

      Gets the value of the property border.
      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.
      Since:
        JavaFX 8.0

    - #### 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.
      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.
      Since:
        JavaFX 8.0
      See Also:
        `getOpaqueInsets()`, `setOpaqueInsets(Insets)`

    - #### setOpaqueInsets

          public final void setOpaqueInsets​(Insets value)

      Sets the value of the property opaqueInsets.
      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.
      Since:
        JavaFX 8.0

    - #### getOpaqueInsets

          public final Insets getOpaqueInsets()

      Gets the value of the property opaqueInsets.
      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.
      Since:
        JavaFX 8.0

    - #### getInsets

          public final Insets getInsets()

      Gets the value of the property insets.
      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.
      Since:
        JavaFX 8.0

    - #### 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.
      Since:
        JavaFX 8.0
      See Also:
        `getInsets()`

    - #### setWidth

          protected void setWidth​(double value)

      Sets the value of the property width.
      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.

    - #### getWidth

          public final double getWidth()

      Gets the value of the property width.
      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.

    - #### 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.
      See Also:
        `getWidth()`, `setWidth(double)`

    - #### setHeight

          protected void setHeight​(double value)

      Sets the value of the property height.
      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.

    - #### getHeight

          public final double getHeight()

      Gets the value of the property height.
      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.

    - #### 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.
      See Also:
        `getHeight()`, `setHeight(double)`

    - #### setMinWidth

          public final void setMinWidth​(double value)

      Sets the value of the property minWidth.
      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.

    - #### getMinWidth

          public final double getMinWidth()

      Gets the value of the property minWidth.
      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.

    - #### 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.

      See Also:
        `getMinWidth()`, `setMinWidth(double)`

    - #### setMinHeight

          public final void setMinHeight​(double value)

      Sets the value of the property minHeight.
      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.

    - #### getMinHeight

          public final double getMinHeight()

      Gets the value of the property minHeight.
      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.

    - #### 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.

      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 property prefWidth.
      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.

    - #### getPrefWidth

          public final double getPrefWidth()

      Gets the value of the property prefWidth.
      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.

    - #### 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.

      See Also:
        `getPrefWidth()`, `setPrefWidth(double)`

    - #### setPrefHeight

          public final void setPrefHeight​(double value)

      Sets the value of the property prefHeight.
      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.

    - #### getPrefHeight

          public final double getPrefHeight()

      Gets the value of the property prefHeight.
      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.

    - #### 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.

      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 property maxWidth.
      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.

    - #### getMaxWidth

          public final double getMaxWidth()

      Gets the value of the property maxWidth.
      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.

    - #### 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.

      See Also:
        `getMaxWidth()`, `setMaxWidth(double)`

    - #### setMaxHeight

          public final void setMaxHeight​(double value)

      Sets the value of the property maxHeight.
      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.

    - #### getMaxHeight

          public final double getMaxHeight()

      Gets the value of the property maxHeight.
      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.

    - #### 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.

      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 property shape.
      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
      Since:
        JavaFX 8.0

    - #### setShape

          public final void setShape​(Shape value)

      Sets the value of the property shape.
      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
      Since:
        JavaFX 8.0

    - #### 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
      Since:
        JavaFX 8.0
      See Also:
        `getShape()`, `setShape(Shape)`

    - #### setScaleShape

          public final void setScaleShape​(boolean value)

      Sets the value of the property scaleShape.
      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
      Since:
        JavaFX 8.0

    - #### isScaleShape

          public final boolean isScaleShape()

      Gets the value of the property scaleShape.
      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
      Since:
        JavaFX 8.0

    - #### 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
      Since:
        JavaFX 8.0
      See Also:
        `isScaleShape()`, `setScaleShape(boolean)`

    - #### setCenterShape

          public final void setCenterShape​(boolean value)

      Sets the value of the property centerShape.
      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
      Since:
        JavaFX 8.0

    - #### isCenterShape

          public final boolean isCenterShape()

      Gets the value of the property centerShape.
      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
      Since:
        JavaFX 8.0

    - #### 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
      Since:
        JavaFX 8.0
      See Also:
        `isCenterShape()`, `setCenterShape(boolean)`

    - #### setCacheShape

          public final void setCacheShape​(boolean value)

      Sets the value of the property cacheShape.
      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
      Since:
        JavaFX 8.0

    - #### isCacheShape

          public final boolean isCacheShape()

      Gets the value of the property cacheShape.
      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
      Since:
        JavaFX 8.0

    - #### 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
      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