Class Region
- All Implemented Interfaces:
Styleable
,EventTarget
- Direct Known Subclasses:
Axis
,Chart
,Control
,Pane
,TableColumnHeader
,VirtualFlow
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
TypePropertyDescriptionfinal ObjectProperty
<Background> The background of the Region, which is made up of zero or more BackgroundFills, and zero or more BackgroundImages.final ObjectProperty
<Border> The border of the Region, which is made up of zero or more BorderStrokes, and zero or more BorderImages.final BooleanProperty
Defines a hint to the system indicating that the Shape used to define the region's background is stable and would benefit from caching.final BooleanProperty
Defines whether the shape is centered within theRegion
's width and height.final ReadOnlyDoubleProperty
The height of this resizable node.final ReadOnlyObjectProperty
<Insets> The insets of the Region define the distance from the edge of the region (its layout bounds, or (0, 0, width, height)) to the edge of the content area.final DoubleProperty
Property for overriding the region's computed maximum height.final DoubleProperty
Property for overriding the region's computed maximum width.final DoubleProperty
Property for overriding the region's computed minimum height.final DoubleProperty
Property for overriding the region's computed minimum width.final ObjectProperty
<Insets> Defines the area of the region within which completely opaque pixels are drawn.final ObjectProperty
<Insets> The top, right, bottom, and left padding around the region's content.final DoubleProperty
Property for overriding the region's computed preferred height.final DoubleProperty
Property for overriding the region's computed preferred width.final BooleanProperty
Specifies whether the shape, if defined, is scaled to match the size of the Region.final ObjectProperty
<Shape> When specified, theShape
will cause the region to be rendered as the specified shape rather than as a rounded rectangle.final BooleanProperty
Defines whether this region adjusts position, spacing, and size values of its children to pixel boundaries.final ReadOnlyDoubleProperty
The width of this resizable node.Properties declared in class javafx.scene.Parent
needsLayout
Properties declared in class javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, focusVisible, focusWithin, 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
Modifier and TypeFieldDescriptionstatic final double
Sentinel value which can be passed to a region'ssetMinWidth
,setMinHeight
,setPrefWidth
,setPrefHeight
,setMaxWidth
,setMaxHeight
methods to reset the region's size constraint back to it's intrinsic size returned bycomputeMinWidth
,computeMinHeight
,computePrefWidth
,computePrefHeight
,computeMaxWidth
, orcomputeMaxHeight
.static final double
Sentinel value which can be passed to a region'ssetMinWidth
,setMinHeight
,setMaxWidth
orsetMaxHeight
methods to indicate that the preferred dimension should be used for that max and/or min constraint.Fields declared in class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
Constructor Summary
ConstructorDescriptionRegion()
Creates a new Region with an empty Background and and empty Border. -
Method Summary
Modifier and TypeMethodDescriptionfinal ObjectProperty
<Background> The background of the Region, which is made up of zero or more BackgroundFills, and zero or more BackgroundImages.final ObjectProperty
<Border> The border of the Region, which is made up of zero or more BorderStrokes, and zero or more BorderImages.final BooleanProperty
Defines a hint to the system indicating that the Shape used to define the region's background is stable and would benefit from caching.final BooleanProperty
Defines whether the shape is centered within theRegion
's width and height.protected double
computeMaxHeight
(double width) Computes the maximum height of this region.protected double
computeMaxWidth
(double height) Computes the maximum width for this region.protected double
computeMinHeight
(double width) Computes the minimum height of this region.protected double
computeMinWidth
(double height) Computes the minimum width of this region.protected double
computePrefHeight
(double width) Computes the preferred height of this region for the given width; Region subclasses should override this method to return an appropriate value based on their content and layout strategy.protected double
computePrefWidth
(double height) Computes the preferred width of this region for the given height.final Background
Gets the value of thebackground
property.final Border
Gets the value of theborder
property.static List
<CssMetaData<? extends Styleable, ?>> Gets theCssMetaData
associated with this class, which may include theCssMetaData
of its superclasses.List
<CssMetaData<? extends Styleable, ?>> This method should delegate toNode.getClassCssMetaData()
so that a Node's CssMetaData can be accessed without the need for reflection.final double
Gets the value of theheight
property.final Insets
Gets the value of theinsets
property.final double
Gets the value of themaxHeight
property.final double
Gets the value of themaxWidth
property.final double
Gets the value of theminHeight
property.final double
Gets the value of theminWidth
property.final Insets
Gets the value of theopaqueInsets
property.final Insets
Gets the value of thepadding
property.final double
Gets the value of theprefHeight
property.final double
Gets the value of theprefWidth
property.final Shape
getShape()
Gets the value of theshape
property.An implementation may specify its own user-agent styles for this Region, and its children, by overriding this method.final double
getWidth()
Gets the value of thewidth
property.final ReadOnlyDoubleProperty
The height of this resizable node.final ReadOnlyObjectProperty
<Insets> The insets of the Region define the distance from the edge of the region (its layout bounds, or (0, 0, width, height)) to the edge of the content area.final boolean
Gets the value of thecacheShape
property.final boolean
Gets the value of thecenterShape
property.boolean
Returnstrue
since all Regions are resizable.final boolean
Gets the value of thescaleShape
property.final boolean
Gets the value of thesnapToPixel
property.protected void
layoutInArea
(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment) Utility method which lays out the child within an area of this region defined byareaX
,areaY
,areaWidth
xareaHeight
, 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 byareaX
,areaY
,areaWidth
xareaHeight
, 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 byareaX
,areaY
,areaWidth
xareaHeight
, 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 byareaX
,areaY
,areaWidth
xareaHeight
, with a baseline offset relative to that area.final double
maxHeight
(double width) Called during layout to determine the maximum height for this node.final DoubleProperty
Property for overriding the region's computed maximum height.final double
maxWidth
(double height) Called during layout to determine the maximum width for this node.final DoubleProperty
Property for overriding the region's computed maximum width.final double
minHeight
(double width) Called during layout to determine the minimum height for this node.final DoubleProperty
Property for overriding the region's computed minimum height.final double
minWidth
(double height) Called during layout to determine the minimum width for this node.final DoubleProperty
Property for overriding the region's computed minimum width.final ObjectProperty
<Insets> Defines the area of the region within which completely opaque pixels are drawn.final ObjectProperty
<Insets> 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 byareaX
,areaY
,areaWidth
xareaHeight
, 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 byareaX
,areaY
,areaWidth
xareaHeight
, with a baseline offset relative to that area.final double
prefHeight
(double width) Called during layout to determine the preferred height for this node.final DoubleProperty
Property for overriding the region's computed preferred height.final double
prefWidth
(double height) Called during layout to determine the preferred width for this node.final DoubleProperty
Property for overriding the region's computed preferred width.void
resize
(double width, double height) Invoked by the region's parent during layout to set the region's width and height.final BooleanProperty
Specifies whether the shape, if defined, is scaled to match the size of the Region.final void
setBackground
(Background value) Sets the value of thebackground
property.final void
Sets the value of theborder
property.final void
setCacheShape
(boolean value) Sets the value of thecacheShape
property.final void
setCenterShape
(boolean value) Sets the value of thecenterShape
property.protected void
setHeight
(double value) Sets the value of theheight
property.final void
setMaxHeight
(double value) Sets the value of themaxHeight
property.void
setMaxSize
(double maxWidth, double maxHeight) Convenience method for overriding the region's computed maximum width and height.final void
setMaxWidth
(double value) Sets the value of themaxWidth
property.final void
setMinHeight
(double value) Sets the value of theminHeight
property.void
setMinSize
(double minWidth, double minHeight) Convenience method for overriding the region's computed minimum width and height.final void
setMinWidth
(double value) Sets the value of theminWidth
property.final void
setOpaqueInsets
(Insets value) Sets the value of theopaqueInsets
property.final void
setPadding
(Insets value) Sets the value of thepadding
property.final void
setPrefHeight
(double value) Sets the value of theprefHeight
property.void
setPrefSize
(double prefWidth, double prefHeight) Convenience method for overriding the region's computed preferred width and height.final void
setPrefWidth
(double value) Sets the value of theprefWidth
property.final void
setScaleShape
(boolean value) Sets the value of thescaleShape
property.final void
Sets the value of theshape
property.final void
setSnapToPixel
(boolean value) Sets the value of thesnapToPixel
property.protected void
setWidth
(double value) Sets the value of thewidth
property.final ObjectProperty
<Shape> When specified, theShape
will cause the region to be rendered as the specified shape rather than as a rounded rectangle.final double
Utility method to get the bottom inset which includes padding and border inset.final double
Utility method to get the left inset which includes padding and border inset.final double
Utility method to get the right inset which includes padding and border inset.final double
Utility method to get the top inset which includes padding and border inset.protected double
snapPosition
(double value) Deprecated.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 bysnapSizeX()
andsnapSizeY()
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 bysnapSpaceX()
andsnapSpaceY()
double
snapSpaceX
(double value) If this region's snapToPixel property is true, returns a value rounded to the nearest pixel in the horizontal direction, else returns the same value.double
snapSpaceY
(double value) If this region's snapToPixel property is true, returns a value rounded to the nearest pixel in the vertical direction, else returns the same value.final BooleanProperty
Defines whether this region adjusts position, spacing, and size values of its children to pixel boundaries.final ReadOnlyDoubleProperty
The width of this resizable node.Methods declared in class javafx.scene.Parent
getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
Methods declared in 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, focusVisibleProperty, focusWithinProperty, 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, isFocusVisible, isFocusWithin, 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, lookup, 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, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, requestFocusTraversal, 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 declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods declared in interface javafx.css.Styleable
getStyleableNode
-
Property Details
-
snapToPixel
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:
-
padding
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 isInsets.EMPTY
. Setting the value tonull
should be avoided.- See Also:
-
background
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:
-
border
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:
-
opaqueInsets
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:
-
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. 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:
-
width
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 theminWidth
,prefWidth
, andmaxWidth
properties.- See Also:
-
height
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 theminHeight
,prefHeight
, andmaxHeight
properties.- See Also:
-
minWidth
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 thatminWidth(forHeight)
will return the region's internally computed minimum width.Setting this value to the
USE_PREF_SIZE
flag will causeminWidth(forHeight)
to return the region's preferred width, enabling applications to easily restrict the resizability of the region.- See Also:
-
minHeight
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 thatminHeight(forWidth)
will return the region's internally computed minimum height.Setting this value to the
USE_PREF_SIZE
flag will causeminHeight(forWidth)
to return the region's preferred height, enabling applications to easily restrict the resizability of the region.- See Also:
-
prefWidth
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 thatprefWidth(forHeight)
will return the region's internally computed preferred width.- See Also:
-
prefHeight
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 thatprefHeight(forWidth)
will return the region's internally computed preferred width.- See Also:
-
maxWidth
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 thatmaxWidth(forHeight)
will return the region's internally computed maximum width.Setting this value to the
USE_PREF_SIZE
flag will causemaxWidth(forHeight)
to return the region's preferred width, enabling applications to easily restrict the resizability of the region.- See Also:
-
maxHeight
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 thatmaxHeight(forWidth)
will return the region's internally computed maximum height.Setting this value to the
USE_PREF_SIZE
flag will causemaxHeight(forWidth)
to return the region's preferred height, enabling applications to easily restrict the resizability of the region.- See Also:
-
shape
When specified, theShape
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:
-
scaleShape
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 ofcenterShape
.- Default value:
- true
- Since:
- JavaFX 8.0
- See Also:
-
centerShape
Defines whether the shape is centered within theRegion
's width and height. Whentrue
, the shape is centered within theRegion
's width and height, otherwise the shape is positioned at its source position.- Default value:
- true
- Since:
- JavaFX 8.0
- See Also:
-
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.- Default value:
- true
- Since:
- JavaFX 8.0
- See Also:
-
-
Field Details
-
USE_PREF_SIZE
public static final double USE_PREF_SIZESentinel value which can be passed to a region'ssetMinWidth
,setMinHeight
,setMaxWidth
orsetMaxHeight
methods to indicate that the preferred dimension should be used for that max and/or min constraint.- See Also:
-
USE_COMPUTED_SIZE
public static final double USE_COMPUTED_SIZESentinel value which can be passed to a region'ssetMinWidth
,setMinHeight
,setPrefWidth
,setPrefHeight
,setMaxWidth
,setMaxHeight
methods to reset the region's size constraint back to it's intrinsic size returned bycomputeMinWidth
,computeMinHeight
,computePrefWidth
,computePrefHeight
,computeMaxWidth
, orcomputeMaxHeight
.- See Also:
-
-
Constructor Details
-
Region
public Region()Creates a new Region with an empty Background and and empty Border. The Region defaults to having pickOnBounds set to true, meaning that any pick (mouse picking or touch picking etc) that occurs within the bounds in local of the Region will return true, regardless of whether the Region is filled or transparent.
-
-
Method Details
-
isSnapToPixel
public final boolean isSnapToPixel()Gets the value of thesnapToPixel
property.- Property description:
- Defines whether this region adjusts position, spacing, and size values of its children to pixel boundaries. This defaults to true, which is generally the expected behavior in order to have crisp user interfaces. A value of false will allow for fractional alignment, which may lead to "fuzzy" looking borders.
- Returns:
- the value of the
snapToPixel
property - See Also:
-
setSnapToPixel
public final void setSnapToPixel(boolean value) Sets the value of thesnapToPixel
property.- Property description:
- Defines whether this region adjusts position, spacing, and size values of its children to pixel boundaries. This defaults to true, which is generally the expected behavior in order to have crisp user interfaces. A value of false will allow for fractional alignment, which may lead to "fuzzy" looking borders.
- Parameters:
value
- the value for thesnapToPixel
property- See Also:
-
snapToPixelProperty
Defines whether this region adjusts position, spacing, and size values of its children to pixel boundaries. This defaults to true, which is generally the expected behavior in order to have crisp user interfaces. A value of false will allow for fractional alignment, which may lead to "fuzzy" looking borders.- Returns:
- the
snapToPixel
property - See Also:
-
setPadding
Sets the value of thepadding
property.- Property description:
- The top, right, bottom, and left padding around the region's content.
This space will be included in the calculation of the region's
minimum and preferred sizes. By default, padding is
Insets.EMPTY
. Setting the value tonull
should be avoided. - Parameters:
value
- the value for thepadding
property- See Also:
-
getPadding
Gets the value of thepadding
property.- Property description:
- The top, right, bottom, and left padding around the region's content.
This space will be included in the calculation of the region's
minimum and preferred sizes. By default, padding is
Insets.EMPTY
. Setting the value tonull
should be avoided. - Returns:
- the value of the
padding
property - See Also:
-
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 isInsets.EMPTY
. Setting the value tonull
should be avoided.- Returns:
- the
padding
property - See Also:
-
setBackground
Sets the value of thebackground
property.- Property description:
- The background of the Region, which is made up of zero or more BackgroundFills, and zero or more BackgroundImages. It is possible for a Background to be empty, where it has neither fills nor images, and is semantically equivalent to null.
- Parameters:
value
- the value for thebackground
property- Since:
- JavaFX 8.0
- See Also:
-
getBackground
Gets the value of thebackground
property.- Property description:
- The background of the Region, which is made up of zero or more BackgroundFills, and zero or more BackgroundImages. It is possible for a Background to be empty, where it has neither fills nor images, and is semantically equivalent to null.
- Returns:
- the value of the
background
property - Since:
- JavaFX 8.0
- See Also:
-
backgroundProperty
The background of the Region, which is made up of zero or more BackgroundFills, and zero or more BackgroundImages. It is possible for a Background to be empty, where it has neither fills nor images, and is semantically equivalent to null.- Returns:
- the
background
property - Since:
- JavaFX 8.0
- See Also:
-
setBorder
Sets the value of theborder
property.- Property description:
- The border of the Region, which is made up of zero or more BorderStrokes, and zero or more BorderImages. It is possible for a Border to be empty, where it has neither strokes nor images, and is semantically equivalent to null.
- Parameters:
value
- the value for theborder
property- Since:
- JavaFX 8.0
- See Also:
-
getBorder
Gets the value of theborder
property.- Property description:
- The border of the Region, which is made up of zero or more BorderStrokes, and zero or more BorderImages. It is possible for a Border to be empty, where it has neither strokes nor images, and is semantically equivalent to null.
- Returns:
- the value of the
border
property - Since:
- JavaFX 8.0
- See Also:
-
borderProperty
The border of the Region, which is made up of zero or more BorderStrokes, and zero or more BorderImages. It is possible for a Border to be empty, where it has neither strokes nor images, and is semantically equivalent to null.- Returns:
- the
border
property - Since:
- JavaFX 8.0
- See Also:
-
opaqueInsetsProperty
Defines the area of the region within which completely opaque pixels are drawn. This is used for various performance optimizations. The pixels within this area MUST BE fully opaque, or rendering artifacts will result. It is the responsibility of the application, either via code or via CSS, to ensure that the opaqueInsets is correct for a Region based on the backgrounds and borders of that region. The values for each of the insets must be real numbers, not NaN or Infinity. If no known insets exist, then the opaqueInsets should be set to null.- Returns:
- the opaque insets property
- Since:
- JavaFX 8.0
- See Also:
-
setOpaqueInsets
Sets the value of theopaqueInsets
property.- Property description:
- Defines the area of the region within which completely opaque pixels are drawn. This is used for various performance optimizations. The pixels within this area MUST BE fully opaque, or rendering artifacts will result. It is the responsibility of the application, either via code or via CSS, to ensure that the opaqueInsets is correct for a Region based on the backgrounds and borders of that region. The values for each of the insets must be real numbers, not NaN or Infinity. If no known insets exist, then the opaqueInsets should be set to null.
- Parameters:
value
- the value for theopaqueInsets
property- Since:
- JavaFX 8.0
- See Also:
-
getOpaqueInsets
Gets the value of theopaqueInsets
property.- Property description:
- Defines the area of the region within which completely opaque pixels are drawn. This is used for various performance optimizations. The pixels within this area MUST BE fully opaque, or rendering artifacts will result. It is the responsibility of the application, either via code or via CSS, to ensure that the opaqueInsets is correct for a Region based on the backgrounds and borders of that region. The values for each of the insets must be real numbers, not NaN or Infinity. If no known insets exist, then the opaqueInsets should be set to null.
- Returns:
- the value of the
opaqueInsets
property - Since:
- JavaFX 8.0
- See Also:
-
getInsets
Gets the value of theinsets
property.- Property description:
- The insets of the Region define the distance from the edge of the region (its layout bounds, or (0, 0, width, height)) to the edge of the content area. All child nodes should be laid out within the content area. The insets are computed based on the Border which has been specified, if any, and also the padding.
- Returns:
- the value of the
insets
property - Since:
- JavaFX 8.0
- See Also:
-
insetsProperty
The insets of the Region define the distance from the edge of the region (its layout bounds, or (0, 0, width, height)) to the edge of the content area. All child nodes should be laid out within the content area. The insets are computed based on the Border which has been specified, if any, and also the padding.- Returns:
- the
insets
property - Since:
- JavaFX 8.0
- See Also:
-
setWidth
protected void setWidth(double value) Sets the value of thewidth
property.- Property description:
- The width of this resizable node. This property is set by the region's parent
during layout and may not be set by the application. If an application
needs to explicitly control the size of a region, it should override its
preferred size range by setting the
minWidth
,prefWidth
, andmaxWidth
properties. - Parameters:
value
- the value for thewidth
property- See Also:
-
getWidth
public final double getWidth()Gets the value of thewidth
property.- Property description:
- The width of this resizable node. This property is set by the region's parent
during layout and may not be set by the application. If an application
needs to explicitly control the size of a region, it should override its
preferred size range by setting the
minWidth
,prefWidth
, andmaxWidth
properties. - Returns:
- the value of the
width
property - See Also:
-
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 theminWidth
,prefWidth
, andmaxWidth
properties.- Returns:
- the
width
property - See Also:
-
setHeight
protected void setHeight(double value) Sets the value of theheight
property.- Property description:
- The height of this resizable node. This property is set by the region's parent
during layout and may not be set by the application. If an application
needs to explicitly control the size of a region, it should override its
preferred size range by setting the
minHeight
,prefHeight
, andmaxHeight
properties. - Parameters:
value
- the value for theheight
property- See Also:
-
getHeight
public final double getHeight()Gets the value of theheight
property.- Property description:
- The height of this resizable node. This property is set by the region's parent
during layout and may not be set by the application. If an application
needs to explicitly control the size of a region, it should override its
preferred size range by setting the
minHeight
,prefHeight
, andmaxHeight
properties. - Returns:
- the value of the
height
property - See Also:
-
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 theminHeight
,prefHeight
, andmaxHeight
properties.- Returns:
- the
height
property - See Also:
-
setMinWidth
public final void setMinWidth(double value) Sets the value of theminWidth
property.- Property description:
- Property for overriding the region's computed minimum width.
This should only be set if the region's internally computed minimum width
doesn't meet the application's layout needs.
Defaults to the
USE_COMPUTED_SIZE
flag, which means thatminWidth(forHeight)
will return the region's internally computed minimum width.Setting this value to the
USE_PREF_SIZE
flag will causeminWidth(forHeight)
to return the region's preferred width, enabling applications to easily restrict the resizability of the region. - Parameters:
value
- the value for theminWidth
property- See Also:
-
getMinWidth
public final double getMinWidth()Gets the value of theminWidth
property.- Property description:
- Property for overriding the region's computed minimum width.
This should only be set if the region's internally computed minimum width
doesn't meet the application's layout needs.
Defaults to the
USE_COMPUTED_SIZE
flag, which means thatminWidth(forHeight)
will return the region's internally computed minimum width.Setting this value to the
USE_PREF_SIZE
flag will causeminWidth(forHeight)
to return the region's preferred width, enabling applications to easily restrict the resizability of the region. - Returns:
- the value of the
minWidth
property - See Also:
-
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 thatminWidth(forHeight)
will return the region's internally computed minimum width.Setting this value to the
USE_PREF_SIZE
flag will causeminWidth(forHeight)
to return the region's preferred width, enabling applications to easily restrict the resizability of the region.- Returns:
- the
minWidth
property - See Also:
-
setMinHeight
public final void setMinHeight(double value) Sets the value of theminHeight
property.- Property description:
- Property for overriding the region's computed minimum height.
This should only be set if the region's internally computed minimum height
doesn't meet the application's layout needs.
Defaults to the
USE_COMPUTED_SIZE
flag, which means thatminHeight(forWidth)
will return the region's internally computed minimum height.Setting this value to the
USE_PREF_SIZE
flag will causeminHeight(forWidth)
to return the region's preferred height, enabling applications to easily restrict the resizability of the region. - Parameters:
value
- the value for theminHeight
property- See Also:
-
getMinHeight
public final double getMinHeight()Gets the value of theminHeight
property.- Property description:
- Property for overriding the region's computed minimum height.
This should only be set if the region's internally computed minimum height
doesn't meet the application's layout needs.
Defaults to the
USE_COMPUTED_SIZE
flag, which means thatminHeight(forWidth)
will return the region's internally computed minimum height.Setting this value to the
USE_PREF_SIZE
flag will causeminHeight(forWidth)
to return the region's preferred height, enabling applications to easily restrict the resizability of the region. - Returns:
- the value of the
minHeight
property - See Also:
-
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 thatminHeight(forWidth)
will return the region's internally computed minimum height.Setting this value to the
USE_PREF_SIZE
flag will causeminHeight(forWidth)
to return the region's preferred height, enabling applications to easily restrict the resizability of the region.- Returns:
- the
minHeight
property - See Also:
-
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 widthminHeight
- the override value for minimum height- See Also:
-
setPrefWidth
public final void setPrefWidth(double value) Sets the value of theprefWidth
property.- Property description:
- Property for overriding the region's computed preferred width.
This should only be set if the region's internally computed preferred width
doesn't meet the application's layout needs.
Defaults to the
USE_COMPUTED_SIZE
flag, which means thatprefWidth(forHeight)
will return the region's internally computed preferred width. - Parameters:
value
- the value for theprefWidth
property- See Also:
-
getPrefWidth
public final double getPrefWidth()Gets the value of theprefWidth
property.- Property description:
- Property for overriding the region's computed preferred width.
This should only be set if the region's internally computed preferred width
doesn't meet the application's layout needs.
Defaults to the
USE_COMPUTED_SIZE
flag, which means thatprefWidth(forHeight)
will return the region's internally computed preferred width. - Returns:
- the value of the
prefWidth
property - See Also:
-
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 thatprefWidth(forHeight)
will return the region's internally computed preferred width.- Returns:
- the
prefWidth
property - See Also:
-
setPrefHeight
public final void setPrefHeight(double value) Sets the value of theprefHeight
property.- Property description:
- Property for overriding the region's computed preferred height.
This should only be set if the region's internally computed preferred height
doesn't meet the application's layout needs.
Defaults to the
USE_COMPUTED_SIZE
flag, which means thatprefHeight(forWidth)
will return the region's internally computed preferred width. - Parameters:
value
- the value for theprefHeight
property- See Also:
-
getPrefHeight
public final double getPrefHeight()Gets the value of theprefHeight
property.- Property description:
- Property for overriding the region's computed preferred height.
This should only be set if the region's internally computed preferred height
doesn't meet the application's layout needs.
Defaults to the
USE_COMPUTED_SIZE
flag, which means thatprefHeight(forWidth)
will return the region's internally computed preferred width. - Returns:
- the value of the
prefHeight
property - See Also:
-
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 thatprefHeight(forWidth)
will return the region's internally computed preferred width.- Returns:
- the
prefHeight
property - See Also:
-
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 widthprefHeight
- the override value for preferred height- See Also:
-
setMaxWidth
public final void setMaxWidth(double value) Sets the value of themaxWidth
property.- Property description:
- Property for overriding the region's computed maximum width.
This should only be set if the region's internally computed maximum width
doesn't meet the application's layout needs.
Defaults to the
USE_COMPUTED_SIZE
flag, which means thatmaxWidth(forHeight)
will return the region's internally computed maximum width.Setting this value to the
USE_PREF_SIZE
flag will causemaxWidth(forHeight)
to return the region's preferred width, enabling applications to easily restrict the resizability of the region. - Parameters:
value
- the value for themaxWidth
property- See Also:
-
getMaxWidth
public final double getMaxWidth()Gets the value of themaxWidth
property.- Property description:
- Property for overriding the region's computed maximum width.
This should only be set if the region's internally computed maximum width
doesn't meet the application's layout needs.
Defaults to the
USE_COMPUTED_SIZE
flag, which means thatmaxWidth(forHeight)
will return the region's internally computed maximum width.Setting this value to the
USE_PREF_SIZE
flag will causemaxWidth(forHeight)
to return the region's preferred width, enabling applications to easily restrict the resizability of the region. - Returns:
- the value of the
maxWidth
property - See Also:
-
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 thatmaxWidth(forHeight)
will return the region's internally computed maximum width.Setting this value to the
USE_PREF_SIZE
flag will causemaxWidth(forHeight)
to return the region's preferred width, enabling applications to easily restrict the resizability of the region.- Returns:
- the
maxWidth
property - See Also:
-
setMaxHeight
public final void setMaxHeight(double value) Sets the value of themaxHeight
property.- Property description:
- Property for overriding the region's computed maximum height.
This should only be set if the region's internally computed maximum height
doesn't meet the application's layout needs.
Defaults to the
USE_COMPUTED_SIZE
flag, which means thatmaxHeight(forWidth)
will return the region's internally computed maximum height.Setting this value to the
USE_PREF_SIZE
flag will causemaxHeight(forWidth)
to return the region's preferred height, enabling applications to easily restrict the resizability of the region. - Parameters:
value
- the value for themaxHeight
property- See Also:
-
getMaxHeight
public final double getMaxHeight()Gets the value of themaxHeight
property.- Property description:
- Property for overriding the region's computed maximum height.
This should only be set if the region's internally computed maximum height
doesn't meet the application's layout needs.
Defaults to the
USE_COMPUTED_SIZE
flag, which means thatmaxHeight(forWidth)
will return the region's internally computed maximum height.Setting this value to the
USE_PREF_SIZE
flag will causemaxHeight(forWidth)
to return the region's preferred height, enabling applications to easily restrict the resizability of the region. - Returns:
- the value of the
maxHeight
property - See Also:
-
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 thatmaxHeight(forWidth)
will return the region's internally computed maximum height.Setting this value to the
USE_PREF_SIZE
flag will causemaxHeight(forWidth)
to return the region's preferred height, enabling applications to easily restrict the resizability of the region.- Returns:
- the
maxHeight
property - See Also:
-
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 widthmaxHeight
- the override value for maximum height- See Also:
-
getShape
Gets the value of theshape
property.- Property description:
- When specified, the
Shape
will cause the region to be rendered as the specified shape rather than as a rounded rectangle. When null, the Region is rendered as a rounded rectangle. When rendered as a Shape, any Background is used to fill the shape, although any background insets are ignored as are background radii. Any BorderStrokes defined are used for stroking the shape. Any BorderImages are ignored. - Default value:
- null
- Returns:
- the value of the
shape
property - Since:
- JavaFX 8.0
- See Also:
-
setShape
Sets the value of theshape
property.- Property description:
- When specified, the
Shape
will cause the region to be rendered as the specified shape rather than as a rounded rectangle. When null, the Region is rendered as a rounded rectangle. When rendered as a Shape, any Background is used to fill the shape, although any background insets are ignored as are background radii. Any BorderStrokes defined are used for stroking the shape. Any BorderImages are ignored. - Default value:
- null
- Parameters:
value
- the value for theshape
property- Since:
- JavaFX 8.0
- See Also:
-
shapeProperty
When specified, theShape
will cause the region to be rendered as the specified shape rather than as a rounded rectangle. When null, the Region is rendered as a rounded rectangle. When rendered as a Shape, any Background is used to fill the shape, although any background insets are ignored as are background radii. Any BorderStrokes defined are used for stroking the shape. Any BorderImages are ignored.- Default value:
- null
- Returns:
- the
shape
property - Since:
- JavaFX 8.0
- See Also:
-
setScaleShape
public final void setScaleShape(boolean value) Sets the value of thescaleShape
property.- Property description:
- Specifies whether the shape, if defined, is scaled to match the size of the Region.
true
means the shape is scaled to fit the size of the Region,false
means the shape is at its source size, its positioning depends on the value ofcenterShape
. - Default value:
- true
- Parameters:
value
- the value for thescaleShape
property- Since:
- JavaFX 8.0
- See Also:
-
isScaleShape
public final boolean isScaleShape()Gets the value of thescaleShape
property.- Property description:
- Specifies whether the shape, if defined, is scaled to match the size of the Region.
true
means the shape is scaled to fit the size of the Region,false
means the shape is at its source size, its positioning depends on the value ofcenterShape
. - Default value:
- true
- Returns:
- the value of the
scaleShape
property - Since:
- JavaFX 8.0
- See Also:
-
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 ofcenterShape
.- Default value:
- true
- Returns:
- the
scaleShape
property - Since:
- JavaFX 8.0
- See Also:
-
setCenterShape
public final void setCenterShape(boolean value) Sets the value of thecenterShape
property.- Property description:
- Defines whether the shape is centered within the
Region
's width and height. Whentrue
, the shape is centered within theRegion
's width and height, otherwise the shape is positioned at its source position. - Default value:
- true
- Parameters:
value
- the value for thecenterShape
property- Since:
- JavaFX 8.0
- See Also:
-
isCenterShape
public final boolean isCenterShape()Gets the value of thecenterShape
property.- Property description:
- Defines whether the shape is centered within the
Region
's width and height. Whentrue
, the shape is centered within theRegion
's width and height, otherwise the shape is positioned at its source position. - Default value:
- true
- Returns:
- the value of the
centerShape
property - Since:
- JavaFX 8.0
- See Also:
-
centerShapeProperty
Defines whether the shape is centered within theRegion
's width and height. Whentrue
, the shape is centered within theRegion
's width and height, otherwise the shape is positioned at its source position.- Default value:
- true
- Returns:
- the
centerShape
property - Since:
- JavaFX 8.0
- See Also:
-
setCacheShape
public final void setCacheShape(boolean value) Sets the value of thecacheShape
property.- Property description:
- Defines a hint to the system indicating that the Shape used to define the region's background is stable and would benefit from caching.
- Default value:
- true
- Parameters:
value
- the value for thecacheShape
property- Since:
- JavaFX 8.0
- See Also:
-
isCacheShape
public final boolean isCacheShape()Gets the value of thecacheShape
property.- Property description:
- Defines a hint to the system indicating that the Shape used to define the region's background is stable and would benefit from caching.
- Default value:
- true
- Returns:
- the value of the
cacheShape
property - Since:
- JavaFX 8.0
- See Also:
-
cacheShapeProperty
Defines a hint to the system indicating that the Shape used to define the region's background is stable and would benefit from caching.- Default value:
- true
- Returns:
- the
cacheShape
property - Since:
- JavaFX 8.0
- See Also:
-
isResizable
public boolean isResizable()Returnstrue
since all Regions are resizable.- Overrides:
isResizable
in classNode
- Returns:
- whether this node can be resized by its parent during layout
- See Also:
-
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 callingsetMinSize()
,setPrefSize()
, orsetMaxSize()
and it's parent will honor those overrides during layout. -
minWidth
public final double minWidth(double height) Called during layout to determine the minimum width for this node. Returns the value fromcomputeMinWidth(forHeight)
unless the application overrode the minimum width by setting the minWidth property. -
minHeight
public final double minHeight(double width) Called during layout to determine the minimum height for this node. Returns the value fromcomputeMinHeight(forWidth)
unless the application overrode the minimum height by setting the minHeight property. -
prefWidth
public final double prefWidth(double height) Called during layout to determine the preferred width for this node. Returns the value fromcomputePrefWidth(forHeight)
unless the application overrode the preferred width by setting the prefWidth property. -
prefHeight
public final double prefHeight(double width) Called during layout to determine the preferred height for this node. Returns the value fromcomputePrefHeight(forWidth)
unless the application overrode the preferred height by setting the prefHeight property.- Overrides:
prefHeight
in classNode
- 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:
-
maxWidth
public final double maxWidth(double height) Called during layout to determine the maximum width for this node. Returns the value fromcomputeMaxWidth(forHeight)
unless the application overrode the maximum width by setting the maxWidth property. -
maxHeight
public final double maxHeight(double width) Called during layout to determine the maximum height for this node. Returns the value fromcomputeMaxHeight(forWidth)
unless the application overrode the maximum height by setting the maxHeight property. -
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 classParent
- 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 classParent
- 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 classParent
- 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 classParent
- 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.replaced bysnapSpaceX()
andsnapSpaceY()
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.replaced bysnapSizeX()
andsnapSizeY()
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.replaced bysnapPositionX()
andsnapPositionY()
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 byareaX
,areaY
,areaWidth
xareaHeight
, 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 inbaselineOffset
, otherwise the baseline parameter is ignored.If
snapToPixel
istrue
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 regionareaX
- the horizontal offset of the layout area relative to this regionareaY
- the vertical offset of the layout area relative to this regionareaWidth
- the width of the layout areaareaHeight
- the height of the layout areaareaBaselineOffset
- the baseline offset to be used if VPos is BASELINEhalignment
- the horizontal alignment for the child within the areavalignment
- 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 byareaX
,areaY
,areaWidth
xareaHeight
, 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 inbaselineOffset
, otherwise the baseline parameter is ignored.If
snapToPixel
istrue
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 regionareaX
- the horizontal offset of the layout area relative to this regionareaY
- the vertical offset of the layout area relative to this regionareaWidth
- the width of the layout areaareaHeight
- the height of the layout areaareaBaselineOffset
- the baseline offset to be used if VPos is BASELINEmargin
- the margin of space to be allocated around the childhalignment
- the horizontal alignment for the child within the areavalignment
- the vertical alignment for the child within the areaisSnapToPixel
- 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 byareaX
,areaY
,areaWidth
xareaHeight
, 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
istrue
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 regionareaX
- the horizontal offset of the layout area relative to this regionareaY
- the vertical offset of the layout area relative to this regionareaWidth
- the width of the layout areaareaHeight
- the height of the layout areaareaBaselineOffset
- the baseline offset to be used if VPos is BASELINEhalignment
- the horizontal alignment for the child within the areavalignment
- 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 byareaX
,areaY
,areaWidth
xareaHeight
, 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
istrue
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 regionareaX
- the horizontal offset of the layout area relative to this regionareaY
- the vertical offset of the layout area relative to this regionareaWidth
- the width of the layout areaareaHeight
- the height of the layout areaareaBaselineOffset
- the baseline offset to be used if VPos is BASELINEmargin
- the margin of space to be allocated around the childhalignment
- the horizontal alignment for the child within the areavalignment
- 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 byareaX
,areaY
,areaWidth
xareaHeight
, with a baseline offset relative to that area.If the child is resizable, this method will use
fillWidth
andfillHeight
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
istrue
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 regionareaX
- the horizontal offset of the layout area relative to this regionareaY
- the vertical offset of the layout area relative to this regionareaWidth
- the width of the layout areaareaHeight
- the height of the layout areaareaBaselineOffset
- the baseline offset to be used if VPos is BASELINEmargin
- the margin of space to be allocated around the childfillWidth
- whether or not the child should be resized to fill the area width or kept to its preferred widthfillHeight
- whether or not the child should e resized to fill the area height or kept to its preferred heighthalignment
- the horizontal alignment for the child within the areavalignment
- 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 byareaX
,areaY
,areaWidth
xareaHeight
, with a baseline offset relative to that area.If the child is resizable, this method will use
fillWidth
andfillHeight
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
istrue
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 regionareaX
- the horizontal offset of the layout area relative to this regionareaY
- the vertical offset of the layout area relative to this regionareaWidth
- the width of the layout areaareaHeight
- the height of the layout areaareaBaselineOffset
- the baseline offset to be used if VPos is BASELINEmargin
- the margin of space to be allocated around the childfillWidth
- whether or not the child should be resized to fill the area width or kept to its preferred widthfillHeight
- whether or not the child should e resized to fill the area height or kept to its preferred heighthalignment
- the horizontal alignment for the child within the areavalignment
- the vertical alignment for the child within the areaisSnapToPixel
- whether to snap size and position to pixels- Since:
- JavaFX 8.0
-
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.
For additional information about using CSS with the scene graph, see the CSS Reference Guide.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); } }
- Returns:
- A string URL
- Since:
- JavaFX 8u40
-
getClassCssMetaData
Gets theCssMetaData
associated with this class, which may include theCssMetaData
of its superclasses.- Returns:
- the
CssMetaData
- Since:
- JavaFX 8.0
-
getCssMetaData
This method should delegate toNode.getClassCssMetaData()
so that a Node's CssMetaData can be accessed without the need for reflection.- Specified by:
getCssMetaData
in interfaceStyleable
- Overrides:
getCssMetaData
in classNode
- Returns:
- The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.
- Since:
- JavaFX 8.0
-
snapPositionX()
andsnapPositionY()