Module javafx.controls
Package javafx.scene.control

# Class ScrollPane

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
javafx.scene.control.ScrollPane

All Implemented Interfaces:
  `Styleable`, `EventTarget`, `Skinnable`

@DefaultProperty("content") public class ScrollPane extends Control
A Control that provides a scrolled, clipped viewport of its contents. It allows the user to scroll the content around either directly (panning) or by using scroll bars. The ScrollPane allows specification of the scroll bar policy, which determines when scroll bars are displayed: always, never, or only when they are needed. The scroll bar policy can be specified independently for the horizontal and vertical scroll bars.

The ScrollPane allows the application to set the current, minimum, and maximum values for positioning the contents in the horizontal and vertical directions. These values are mapped proportionally onto the `layoutBounds` of the contained node.

ScrollPane layout calculations are based on the layoutBounds rather than the boundsInParent (visual bounds) of the scroll node. If an application wants the scrolling to be based on the visual bounds of the node (for scaled content etc.), they need to wrap the scroll node in a Group.

ScrollPane sets focusTraversable to false.

This example creates a ScrollPane, which contains a Rectangle :

     import javafx.scene.control.ScrollPane;
     import javafx.scene.shape.Rectangle;

     Rectangle rect = new Rectangle(200, 200, Color.RED);
     ScrollPane s1 = new ScrollPane();
     s1.setPrefSize(120, 120);
     s1.setContent(rect);

Since:
  JavaFX 2.0

## Property Summary

Properties
Type
Property
Description
`final ObjectProperty<Node>`
`content`
The node used as the content of this ScrollPane.
`final BooleanProperty`
`fitToHeight`
If true and if the contained node is a Resizable, then the node will be kept resized to match the height of the ScrollPane's viewport.
`final BooleanProperty`
`fitToWidth`
If true and if the contained node is a Resizable, then the node will be kept resized to match the width of the ScrollPane's viewport.
`final ObjectProperty<ScrollPane.ScrollBarPolicy>`
`hbarPolicy`
Specifies the policy for showing the horizontal scroll bar.
`final DoubleProperty`
`hmax`
The maximum allowable `hvalue` for this ScrollPane.
`final DoubleProperty`
`hmin`
The minimum allowable `hvalue` for this ScrollPane.
`final DoubleProperty`
`hvalue`
The current horizontal scroll position of the ScrollPane.
`final DoubleProperty`
`minViewportHeight`
Specify the minimum height of the ScrollPane Viewport.
`final DoubleProperty`
`minViewportWidth`
Specify the minimum width of the ScrollPane Viewport.
`final BooleanProperty`
`pannable`
Specifies whether the user should be able to pan the viewport by using the mouse.
`final DoubleProperty`
`prefViewportHeight`
Specify the preferred height of the ScrollPane Viewport.
`final DoubleProperty`
`prefViewportWidth`
Specify the preferred width of the ScrollPane Viewport.
`final ObjectProperty<ScrollPane.ScrollBarPolicy>`
`vbarPolicy`
Specifies the policy for showing the vertical scroll bar.
`final ObjectProperty<Bounds>`
`viewportBounds`
The actual Bounds of the ScrollPane Viewport.
`final DoubleProperty`
`vmax`
The maximum allowable `vvalue` for this ScrollPane.
`final DoubleProperty`
`vmin`
The minimum allowable `vvalue` for this ScrollPane.
`final DoubleProperty`
`vvalue`
The current vertical scroll position of the ScrollPane.

### Properties inherited from class javafx.scene.control.Control

`contextMenu, skin, tooltip`

### Properties inherited from class javafx.scene.layout.Region

`background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width`

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

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`ScrollPane.ScrollBarPolicy`
An enumeration denoting the policy to be used by a scrollable Control in deciding whether to show a scroll bar.

## Field Summary

### Fields inherited from class javafx.scene.layout.Region

`USE_COMPUTED_SIZE, USE_PREF_SIZE`

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

`BASELINE_OFFSET_SAME_AS_HEIGHT`

## Constructor Summary

Constructors
Constructor
Description
`ScrollPane()`
Creates a new ScrollPane.
`ScrollPane(Node content)`
Creates a new ScrollPane.

## Method Summary

Modifier and Type
Method
Description
`final ObjectProperty<Node>`
`contentProperty()`
The node used as the content of this ScrollPane.
`protected Skin<?>`
`createDefaultSkin()`
Create a new instance of the default skin for this control.
`final BooleanProperty`
`fitToHeightProperty()`
If true and if the contained node is a Resizable, then the node will be kept resized to match the height of the ScrollPane's viewport.
`final BooleanProperty`
`fitToWidthProperty()`
If true and if the contained node is a Resizable, then the node will be kept resized to match the width of the ScrollPane's viewport.
`static List<CssMetaData<? extends Styleable,?>>`
`getClassCssMetaData()`
`final Node`
`getContent()`
Gets the value of the `content` property.
`List<CssMetaData<? extends Styleable,?>>`
`getControlCssMetaData()`
`final ScrollPane.ScrollBarPolicy`
`getHbarPolicy()`
Gets the value of the `hbarPolicy` property.
`final double`
`getHmax()`
Gets the value of the `hmax` property.
`final double`
`getHmin()`
Gets the value of the `hmin` property.
`final double`
`getHvalue()`
Gets the value of the `hvalue` property.
`protected Boolean`
`getInitialFocusTraversable()`
Returns the initial focus traversable state of this control, for use by the JavaFX CSS engine to correctly set its initial value.
`final double`
`getMinViewportHeight()`
Gets the value of the `minViewportHeight` property.
`final double`
`getMinViewportWidth()`
Gets the value of the `minViewportWidth` property.
`final double`
`getPrefViewportHeight()`
Gets the value of the `prefViewportHeight` property.
`final double`
`getPrefViewportWidth()`
Gets the value of the `prefViewportWidth` property.
`final ScrollPane.ScrollBarPolicy`
`getVbarPolicy()`
Gets the value of the `vbarPolicy` property.
`final Bounds`
`getViewportBounds()`
Gets the value of the `viewportBounds` property.
`final double`
`getVmax()`
Gets the value of the `vmax` property.
`final double`
`getVmin()`
Gets the value of the `vmin` property.
`final double`
`getVvalue()`
Gets the value of the `vvalue` property.
`final ObjectProperty<ScrollPane.ScrollBarPolicy>`
`hbarPolicyProperty()`
Specifies the policy for showing the horizontal scroll bar.
`final DoubleProperty`
`hmaxProperty()`
The maximum allowable `hvalue` for this ScrollPane.
`final DoubleProperty`
`hminProperty()`
The minimum allowable `hvalue` for this ScrollPane.
`final DoubleProperty`
`hvalueProperty()`
The current horizontal scroll position of the ScrollPane.
`final boolean`
`isFitToHeight()`
Gets the value of the `fitToHeight` property.
`final boolean`
`isFitToWidth()`
Gets the value of the `fitToWidth` property.
`final boolean`
`isPannable()`
Gets the value of the `pannable` property.
`final DoubleProperty`
`minViewportHeightProperty()`
Specify the minimum height of the ScrollPane Viewport.
`final DoubleProperty`
`minViewportWidthProperty()`
Specify the minimum width of the ScrollPane Viewport.
`final BooleanProperty`
`pannableProperty()`
Specifies whether the user should be able to pan the viewport by using the mouse.
`final DoubleProperty`
`prefViewportHeightProperty()`
Specify the preferred height of the ScrollPane Viewport.
`final DoubleProperty`
`prefViewportWidthProperty()`
Specify the preferred width of the ScrollPane Viewport.
`Object`
`queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)`
This method is called by the assistive technology to request the value for an attribute.
`final void`
`setContent(Node value)`
Sets the value of the `content` property.
`final void`
`setFitToHeight(boolean value)`
Sets the value of the `fitToHeight` property.
`final void`
`setFitToWidth(boolean value)`
Sets the value of the `fitToWidth` property.
`final void`
`setHbarPolicy(ScrollPane.ScrollBarPolicy value)`
Sets the value of the `hbarPolicy` property.
`final void`
`setHmax(double value)`
Sets the value of the `hmax` property.
`final void`
`setHmin(double value)`
Sets the value of the `hmin` property.
`final void`
`setHvalue(double value)`
Sets the value of the `hvalue` property.
`final void`
`setMinViewportHeight(double value)`
Sets the value of the `minViewportHeight` property.
`final void`
`setMinViewportWidth(double value)`
Sets the value of the `minViewportWidth` property.
`final void`
`setPannable(boolean value)`
Sets the value of the `pannable` property.
`final void`
`setPrefViewportHeight(double value)`
Sets the value of the `prefViewportHeight` property.
`final void`
`setPrefViewportWidth(double value)`
Sets the value of the `prefViewportWidth` property.
`final void`
`setVbarPolicy(ScrollPane.ScrollBarPolicy value)`
Sets the value of the `vbarPolicy` property.
`final void`
`setViewportBounds(Bounds value)`
Sets the value of the `viewportBounds` property.
`final void`
`setVmax(double value)`
Sets the value of the `vmax` property.
`final void`
`setVmin(double value)`
Sets the value of the `vmin` property.
`final void`
`setVvalue(double value)`
Sets the value of the `vvalue` property.
`final ObjectProperty<ScrollPane.ScrollBarPolicy>`
`vbarPolicyProperty()`
Specifies the policy for showing the vertical scroll bar.
`final ObjectProperty<Bounds>`
`viewportBoundsProperty()`
The actual Bounds of the ScrollPane Viewport.
`final DoubleProperty`
`vmaxProperty()`
The maximum allowable `vvalue` for this ScrollPane.
`final DoubleProperty`
`vminProperty()`
The minimum allowable `vvalue` for this ScrollPane.
`final DoubleProperty`
`vvalueProperty()`
The current vertical scroll position of the ScrollPane.

### Methods inherited from class javafx.scene.control.Control

`computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty`

### Methods inherited from class javafx.scene.layout.Region

`backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty`

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

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

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

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

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

`getStyleableNode`

## Property Details

### hbarPolicy

public final ObjectProperty<ScrollPane.ScrollBarPolicy> hbarPolicyProperty
Specifies the policy for showing the horizontal scroll bar.

See Also:
  - `getHbarPolicy()`
  - `setHbarPolicy(ScrollPane.ScrollBarPolicy)`
  - `hbarPolicyProperty()`

### vbarPolicy

public final ObjectProperty<ScrollPane.ScrollBarPolicy> vbarPolicyProperty
Specifies the policy for showing the vertical scroll bar.

See Also:
  - `getVbarPolicy()`
  - `setVbarPolicy(ScrollPane.ScrollBarPolicy)`
  - `vbarPolicyProperty()`

### content

public final ObjectProperty<Node> contentProperty
The node used as the content of this ScrollPane.

See Also:
  - `getContent()`
  - `setContent(Node)`
  - `contentProperty()`

### hvalue

public final DoubleProperty hvalueProperty
The current horizontal scroll position of the ScrollPane. This value may be set by the application to scroll the view programatically. The ScrollPane will update this value whenever the viewport is scrolled or panned by the user. This value must always be within the range of `hmin` to `hmax`. When `hvalue` equals `hmin`, the contained node is positioned so that its layoutBounds `minX` is visible. When `hvalue` equals `hmax`, the contained node is positioned so that its layoutBounds `maxX` is visible. When `hvalue` is between `hmin` and `hmax`, the contained node is positioned proportionally between layoutBounds `minX` and layoutBounds `maxX`.

See Also:
  - `getHvalue()`
  - `setHvalue(double)`
  - `hvalueProperty()`

### vvalue

public final DoubleProperty vvalueProperty
The current vertical scroll position of the ScrollPane. This value may be set by the application to scroll the view programatically. The ScrollPane will update this value whenever the viewport is scrolled or panned by the user. This value must always be within the range of `vmin` to `vmax`. When `vvalue` equals `vmin`, the contained node is positioned so that its layoutBounds `minY` is visible. When `vvalue` equals `vmax`, the contained node is positioned so that its layoutBounds `maxY` is visible. When `vvalue` is between `vmin` and `vmax`, the contained node is positioned proportionally between layoutBounds `minY` and layoutBounds `maxY`.

See Also:
  - `getVvalue()`
  - `setVvalue(double)`
  - `vvalueProperty()`

### hmin

public final DoubleProperty hminProperty
The minimum allowable `hvalue` for this ScrollPane. Default value is 0.

See Also:
  - `getHmin()`
  - `setHmin(double)`
  - `hminProperty()`

### vmin

public final DoubleProperty vminProperty
The minimum allowable `vvalue` for this ScrollPane. Default value is 0.

See Also:
  - `getVmin()`
  - `setVmin(double)`
  - `vminProperty()`

### hmax

public final DoubleProperty hmaxProperty
The maximum allowable `hvalue` for this ScrollPane. Default value is 1.

See Also:
  - `getHmax()`
  - `setHmax(double)`
  - `hmaxProperty()`

### vmax

public final DoubleProperty vmaxProperty
The maximum allowable `vvalue` for this ScrollPane. Default value is 1.

See Also:
  - `getVmax()`
  - `setVmax(double)`
  - `vmaxProperty()`

### fitToWidth

public final BooleanProperty fitToWidthProperty
If true and if the contained node is a Resizable, then the node will be kept resized to match the width of the ScrollPane's viewport. If the contained node is not a Resizable, this value is ignored.

See Also:
  - `isFitToWidth()`
  - `setFitToWidth(boolean)`
  - `fitToWidthProperty()`

### fitToHeight

public final BooleanProperty fitToHeightProperty
If true and if the contained node is a Resizable, then the node will be kept resized to match the height of the ScrollPane's viewport. If the contained node is not a Resizable, this value is ignored.

See Also:
  - `isFitToHeight()`
  - `setFitToHeight(boolean)`
  - `fitToHeightProperty()`

### pannable

public final BooleanProperty pannableProperty
Specifies whether the user should be able to pan the viewport by using the mouse. If mouse events reach the ScrollPane (that is, if mouse events are not blocked by the contained node or one of its children) then `pannable` is consulted to determine if the events should be used for panning.

See Also:
  - `isPannable()`
  - `setPannable(boolean)`
  - `pannableProperty()`

### prefViewportWidth

public final DoubleProperty prefViewportWidthProperty
Specify the preferred width of the ScrollPane Viewport. This is the width that will be available to the content node. The overall width of the ScrollPane is the ViewportWidth + padding

See Also:
  - `getPrefViewportWidth()`
  - `setPrefViewportWidth(double)`
  - `prefViewportWidthProperty()`

### prefViewportHeight

public final DoubleProperty prefViewportHeightProperty
Specify the preferred height of the ScrollPane Viewport. This is the height that will be available to the content node. The overall height of the ScrollPane is the ViewportHeight + padding

See Also:
  - `getPrefViewportHeight()`
  - `setPrefViewportHeight(double)`
  - `prefViewportHeightProperty()`

### minViewportWidth

public final DoubleProperty minViewportWidthProperty
Specify the minimum width of the ScrollPane Viewport. This is the width that will be available to the content node.

Since:
  JavaFX 8u40
See Also:
  - `getMinViewportWidth()`
  - `setMinViewportWidth(double)`
  - `minViewportWidthProperty()`

### minViewportHeight

public final DoubleProperty minViewportHeightProperty
Specify the minimum height of the ScrollPane Viewport. This is the height that will be available to the content node.

Since:
  JavaFX 8u40
See Also:
  - `getMinViewportHeight()`
  - `setMinViewportHeight(double)`
  - `minViewportHeightProperty()`

### viewportBounds

public final ObjectProperty<Bounds> viewportBoundsProperty
The actual Bounds of the ScrollPane Viewport. This is the Bounds of the content node.

See Also:
  - `getViewportBounds()`
  - `setViewportBounds(Bounds)`
  - `viewportBoundsProperty()`

## Constructor Details

### ScrollPane

public ScrollPane()
Creates a new ScrollPane.

### ScrollPane

public ScrollPane(Node content)
Creates a new ScrollPane.

Parameters:
  `content` - the initial content for the ScrollPane
Since:
  JavaFX 8.0

## Method Details

### setHbarPolicy

public final void setHbarPolicy(ScrollPane.ScrollBarPolicy value)
Sets the value of the `hbarPolicy` property.

Property description:
  Specifies the policy for showing the horizontal scroll bar.
Parameters:
  `value` - the value for the `hbarPolicy` property
See Also:
  - `getHbarPolicy()`
  - `hbarPolicyProperty()`

### getHbarPolicy

public final ScrollPane.ScrollBarPolicy getHbarPolicy()
Gets the value of the `hbarPolicy` property.

Property description:
  Specifies the policy for showing the horizontal scroll bar.
Returns:
  the value of the `hbarPolicy` property
See Also:
  - `setHbarPolicy(ScrollPane.ScrollBarPolicy)`
  - `hbarPolicyProperty()`

### hbarPolicyProperty

public final ObjectProperty<ScrollPane.ScrollBarPolicy> hbarPolicyProperty()
Specifies the policy for showing the horizontal scroll bar.

Returns:
  the `hbarPolicy` property
See Also:
  - `getHbarPolicy()`
  - `setHbarPolicy(ScrollPane.ScrollBarPolicy)`

### setVbarPolicy

public final void setVbarPolicy(ScrollPane.ScrollBarPolicy value)
Sets the value of the `vbarPolicy` property.

Property description:
  Specifies the policy for showing the vertical scroll bar.
Parameters:
  `value` - the value for the `vbarPolicy` property
See Also:
  - `getVbarPolicy()`
  - `vbarPolicyProperty()`

### getVbarPolicy

public final ScrollPane.ScrollBarPolicy getVbarPolicy()
Gets the value of the `vbarPolicy` property.

Property description:
  Specifies the policy for showing the vertical scroll bar.
Returns:
  the value of the `vbarPolicy` property
See Also:
  - `setVbarPolicy(ScrollPane.ScrollBarPolicy)`
  - `vbarPolicyProperty()`

### vbarPolicyProperty

public final ObjectProperty<ScrollPane.ScrollBarPolicy> vbarPolicyProperty()
Specifies the policy for showing the vertical scroll bar.

Returns:
  the `vbarPolicy` property
See Also:
  - `getVbarPolicy()`
  - `setVbarPolicy(ScrollPane.ScrollBarPolicy)`

### setContent

public final void setContent(Node value)
Sets the value of the `content` property.

Property description:
  The node used as the content of this ScrollPane.
Parameters:
  `value` - the value for the `content` property
See Also:
  - `getContent()`
  - `contentProperty()`

### getContent

public final Node getContent()
Gets the value of the `content` property.

Property description:
  The node used as the content of this ScrollPane.
Returns:
  the value of the `content` property
See Also:
  - `setContent(Node)`
  - `contentProperty()`

### contentProperty

public final ObjectProperty<Node> contentProperty()
The node used as the content of this ScrollPane.

Returns:
  the `content` property
See Also:
  - `getContent()`
  - `setContent(Node)`

### setHvalue

public final void setHvalue(double value)
Sets the value of the `hvalue` property.

Property description:
  The current horizontal scroll position of the ScrollPane. This value may be set by the application to scroll the view programatically. The ScrollPane will update this value whenever the viewport is scrolled or panned by the user. This value must always be within the range of `hmin` to `hmax`. When `hvalue` equals `hmin`, the contained node is positioned so that its layoutBounds `minX` is visible. When `hvalue` equals `hmax`, the contained node is positioned so that its layoutBounds `maxX` is visible. When `hvalue` is between `hmin` and `hmax`, the contained node is positioned proportionally between layoutBounds `minX` and layoutBounds `maxX`.
Parameters:
  `value` - the value for the `hvalue` property
See Also:
  - `getHvalue()`
  - `hvalueProperty()`

### getHvalue

public final double getHvalue()
Gets the value of the `hvalue` property.

Property description:
  The current horizontal scroll position of the ScrollPane. This value may be set by the application to scroll the view programatically. The ScrollPane will update this value whenever the viewport is scrolled or panned by the user. This value must always be within the range of `hmin` to `hmax`. When `hvalue` equals `hmin`, the contained node is positioned so that its layoutBounds `minX` is visible. When `hvalue` equals `hmax`, the contained node is positioned so that its layoutBounds `maxX` is visible. When `hvalue` is between `hmin` and `hmax`, the contained node is positioned proportionally between layoutBounds `minX` and layoutBounds `maxX`.
Returns:
  the value of the `hvalue` property
See Also:
  - `setHvalue(double)`
  - `hvalueProperty()`

### hvalueProperty

public final DoubleProperty hvalueProperty()
The current horizontal scroll position of the ScrollPane. This value may be set by the application to scroll the view programatically. The ScrollPane will update this value whenever the viewport is scrolled or panned by the user. This value must always be within the range of `hmin` to `hmax`. When `hvalue` equals `hmin`, the contained node is positioned so that its layoutBounds `minX` is visible. When `hvalue` equals `hmax`, the contained node is positioned so that its layoutBounds `maxX` is visible. When `hvalue` is between `hmin` and `hmax`, the contained node is positioned proportionally between layoutBounds `minX` and layoutBounds `maxX`.

Returns:
  the `hvalue` property
See Also:
  - `getHvalue()`
  - `setHvalue(double)`

### setVvalue

public final void setVvalue(double value)
Sets the value of the `vvalue` property.

Property description:
  The current vertical scroll position of the ScrollPane. This value may be set by the application to scroll the view programatically. The ScrollPane will update this value whenever the viewport is scrolled or panned by the user. This value must always be within the range of `vmin` to `vmax`. When `vvalue` equals `vmin`, the contained node is positioned so that its layoutBounds `minY` is visible. When `vvalue` equals `vmax`, the contained node is positioned so that its layoutBounds `maxY` is visible. When `vvalue` is between `vmin` and `vmax`, the contained node is positioned proportionally between layoutBounds `minY` and layoutBounds `maxY`.
Parameters:
  `value` - the value for the `vvalue` property
See Also:
  - `getVvalue()`
  - `vvalueProperty()`

### getVvalue

public final double getVvalue()
Gets the value of the `vvalue` property.

Property description:
  The current vertical scroll position of the ScrollPane. This value may be set by the application to scroll the view programatically. The ScrollPane will update this value whenever the viewport is scrolled or panned by the user. This value must always be within the range of `vmin` to `vmax`. When `vvalue` equals `vmin`, the contained node is positioned so that its layoutBounds `minY` is visible. When `vvalue` equals `vmax`, the contained node is positioned so that its layoutBounds `maxY` is visible. When `vvalue` is between `vmin` and `vmax`, the contained node is positioned proportionally between layoutBounds `minY` and layoutBounds `maxY`.
Returns:
  the value of the `vvalue` property
See Also:
  - `setVvalue(double)`
  - `vvalueProperty()`

### vvalueProperty

public final DoubleProperty vvalueProperty()
The current vertical scroll position of the ScrollPane. This value may be set by the application to scroll the view programatically. The ScrollPane will update this value whenever the viewport is scrolled or panned by the user. This value must always be within the range of `vmin` to `vmax`. When `vvalue` equals `vmin`, the contained node is positioned so that its layoutBounds `minY` is visible. When `vvalue` equals `vmax`, the contained node is positioned so that its layoutBounds `maxY` is visible. When `vvalue` is between `vmin` and `vmax`, the contained node is positioned proportionally between layoutBounds `minY` and layoutBounds `maxY`.

Returns:
  the `vvalue` property
See Also:
  - `getVvalue()`
  - `setVvalue(double)`

### setHmin

public final void setHmin(double value)
Sets the value of the `hmin` property.

Property description:
  The minimum allowable `hvalue` for this ScrollPane. Default value is 0.
Parameters:
  `value` - the value for the `hmin` property
See Also:
  - `getHmin()`
  - `hminProperty()`

### getHmin

public final double getHmin()
Gets the value of the `hmin` property.

Property description:
  The minimum allowable `hvalue` for this ScrollPane. Default value is 0.
Returns:
  the value of the `hmin` property
See Also:
  - `setHmin(double)`
  - `hminProperty()`

### hminProperty

public final DoubleProperty hminProperty()
The minimum allowable `hvalue` for this ScrollPane. Default value is 0.

Returns:
  the `hmin` property
See Also:
  - `getHmin()`
  - `setHmin(double)`

### setVmin

public final void setVmin(double value)
Sets the value of the `vmin` property.

Property description:
  The minimum allowable `vvalue` for this ScrollPane. Default value is 0.
Parameters:
  `value` - the value for the `vmin` property
See Also:
  - `getVmin()`
  - `vminProperty()`

### getVmin

public final double getVmin()
Gets the value of the `vmin` property.

Property description:
  The minimum allowable `vvalue` for this ScrollPane. Default value is 0.
Returns:
  the value of the `vmin` property
See Also:
  - `setVmin(double)`
  - `vminProperty()`

### vminProperty

public final DoubleProperty vminProperty()
The minimum allowable `vvalue` for this ScrollPane. Default value is 0.

Returns:
  the `vmin` property
See Also:
  - `getVmin()`
  - `setVmin(double)`

### setHmax

public final void setHmax(double value)
Sets the value of the `hmax` property.

Property description:
  The maximum allowable `hvalue` for this ScrollPane. Default value is 1.
Parameters:
  `value` - the value for the `hmax` property
See Also:
  - `getHmax()`
  - `hmaxProperty()`

### getHmax

public final double getHmax()
Gets the value of the `hmax` property.

Property description:
  The maximum allowable `hvalue` for this ScrollPane. Default value is 1.
Returns:
  the value of the `hmax` property
See Also:
  - `setHmax(double)`
  - `hmaxProperty()`

### hmaxProperty

public final DoubleProperty hmaxProperty()
The maximum allowable `hvalue` for this ScrollPane. Default value is 1.

Returns:
  the `hmax` property
See Also:
  - `getHmax()`
  - `setHmax(double)`

### setVmax

public final void setVmax(double value)
Sets the value of the `vmax` property.

Property description:
  The maximum allowable `vvalue` for this ScrollPane. Default value is 1.
Parameters:
  `value` - the value for the `vmax` property
See Also:
  - `getVmax()`
  - `vmaxProperty()`

### getVmax

public final double getVmax()
Gets the value of the `vmax` property.

Property description:
  The maximum allowable `vvalue` for this ScrollPane. Default value is 1.
Returns:
  the value of the `vmax` property
See Also:
  - `setVmax(double)`
  - `vmaxProperty()`

### vmaxProperty

public final DoubleProperty vmaxProperty()
The maximum allowable `vvalue` for this ScrollPane. Default value is 1.

Returns:
  the `vmax` property
See Also:
  - `getVmax()`
  - `setVmax(double)`

### setFitToWidth

public final void setFitToWidth(boolean value)
Sets the value of the `fitToWidth` property.

Property description:
  If true and if the contained node is a Resizable, then the node will be kept resized to match the width of the ScrollPane's viewport. If the contained node is not a Resizable, this value is ignored.
Parameters:
  `value` - the value for the `fitToWidth` property
See Also:
  - `isFitToWidth()`
  - `fitToWidthProperty()`

### isFitToWidth

public final boolean isFitToWidth()
Gets the value of the `fitToWidth` property.

Property description:
  If true and if the contained node is a Resizable, then the node will be kept resized to match the width of the ScrollPane's viewport. If the contained node is not a Resizable, this value is ignored.
Returns:
  the value of the `fitToWidth` property
See Also:
  - `setFitToWidth(boolean)`
  - `fitToWidthProperty()`

### fitToWidthProperty

public final BooleanProperty fitToWidthProperty()
If true and if the contained node is a Resizable, then the node will be kept resized to match the width of the ScrollPane's viewport. If the contained node is not a Resizable, this value is ignored.

Returns:
  the `fitToWidth` property
See Also:
  - `isFitToWidth()`
  - `setFitToWidth(boolean)`

### setFitToHeight

public final void setFitToHeight(boolean value)
Sets the value of the `fitToHeight` property.

Property description:
  If true and if the contained node is a Resizable, then the node will be kept resized to match the height of the ScrollPane's viewport. If the contained node is not a Resizable, this value is ignored.
Parameters:
  `value` - the value for the `fitToHeight` property
See Also:
  - `isFitToHeight()`
  - `fitToHeightProperty()`

### isFitToHeight

public final boolean isFitToHeight()
Gets the value of the `fitToHeight` property.

Property description:
  If true and if the contained node is a Resizable, then the node will be kept resized to match the height of the ScrollPane's viewport. If the contained node is not a Resizable, this value is ignored.
Returns:
  the value of the `fitToHeight` property
See Also:
  - `setFitToHeight(boolean)`
  - `fitToHeightProperty()`

### fitToHeightProperty

public final BooleanProperty fitToHeightProperty()
If true and if the contained node is a Resizable, then the node will be kept resized to match the height of the ScrollPane's viewport. If the contained node is not a Resizable, this value is ignored.

Returns:
  the `fitToHeight` property
See Also:
  - `isFitToHeight()`
  - `setFitToHeight(boolean)`

### setPannable

public final void setPannable(boolean value)
Sets the value of the `pannable` property.

Property description:
  Specifies whether the user should be able to pan the viewport by using the mouse. If mouse events reach the ScrollPane (that is, if mouse events are not blocked by the contained node or one of its children) then `pannable` is consulted to determine if the events should be used for panning.
Parameters:
  `value` - the value for the `pannable` property
See Also:
  - `isPannable()`
  - `pannableProperty()`

### isPannable

public final boolean isPannable()
Gets the value of the `pannable` property.

Property description:
  Specifies whether the user should be able to pan the viewport by using the mouse. If mouse events reach the ScrollPane (that is, if mouse events are not blocked by the contained node or one of its children) then `pannable` is consulted to determine if the events should be used for panning.
Returns:
  the value of the `pannable` property
See Also:
  - `setPannable(boolean)`
  - `pannableProperty()`

### pannableProperty

public final BooleanProperty pannableProperty()
Specifies whether the user should be able to pan the viewport by using the mouse. If mouse events reach the ScrollPane (that is, if mouse events are not blocked by the contained node or one of its children) then `pannable` is consulted to determine if the events should be used for panning.

Returns:
  the `pannable` property
See Also:
  - `isPannable()`
  - `setPannable(boolean)`

### setPrefViewportWidth

public final void setPrefViewportWidth(double value)
Sets the value of the `prefViewportWidth` property.

Property description:
  Specify the preferred width of the ScrollPane Viewport. This is the width that will be available to the content node. The overall width of the ScrollPane is the ViewportWidth + padding
Parameters:
  `value` - the value for the `prefViewportWidth` property
See Also:
  - `getPrefViewportWidth()`
  - `prefViewportWidthProperty()`

### getPrefViewportWidth

public final double getPrefViewportWidth()
Gets the value of the `prefViewportWidth` property.

Property description:
  Specify the preferred width of the ScrollPane Viewport. This is the width that will be available to the content node. The overall width of the ScrollPane is the ViewportWidth + padding
Returns:
  the value of the `prefViewportWidth` property
See Also:
  - `setPrefViewportWidth(double)`
  - `prefViewportWidthProperty()`

### prefViewportWidthProperty

public final DoubleProperty prefViewportWidthProperty()
Specify the preferred width of the ScrollPane Viewport. This is the width that will be available to the content node. The overall width of the ScrollPane is the ViewportWidth + padding

Returns:
  the `prefViewportWidth` property
See Also:
  - `getPrefViewportWidth()`
  - `setPrefViewportWidth(double)`

### setPrefViewportHeight

public final void setPrefViewportHeight(double value)
Sets the value of the `prefViewportHeight` property.

Property description:
  Specify the preferred height of the ScrollPane Viewport. This is the height that will be available to the content node. The overall height of the ScrollPane is the ViewportHeight + padding
Parameters:
  `value` - the value for the `prefViewportHeight` property
See Also:
  - `getPrefViewportHeight()`
  - `prefViewportHeightProperty()`

### getPrefViewportHeight

public final double getPrefViewportHeight()
Gets the value of the `prefViewportHeight` property.

Property description:
  Specify the preferred height of the ScrollPane Viewport. This is the height that will be available to the content node. The overall height of the ScrollPane is the ViewportHeight + padding
Returns:
  the value of the `prefViewportHeight` property
See Also:
  - `setPrefViewportHeight(double)`
  - `prefViewportHeightProperty()`

### prefViewportHeightProperty

public final DoubleProperty prefViewportHeightProperty()
Specify the preferred height of the ScrollPane Viewport. This is the height that will be available to the content node. The overall height of the ScrollPane is the ViewportHeight + padding

Returns:
  the `prefViewportHeight` property
See Also:
  - `getPrefViewportHeight()`
  - `setPrefViewportHeight(double)`

### setMinViewportWidth

public final void setMinViewportWidth(double value)
Sets the value of the `minViewportWidth` property.

Property description:
  Specify the minimum width of the ScrollPane Viewport. This is the width that will be available to the content node.
Parameters:
  `value` - the value for the `minViewportWidth` property
Since:
  JavaFX 8u40
See Also:
  - `getMinViewportWidth()`
  - `minViewportWidthProperty()`

### getMinViewportWidth

public final double getMinViewportWidth()
Gets the value of the `minViewportWidth` property.

Property description:
  Specify the minimum width of the ScrollPane Viewport. This is the width that will be available to the content node.
Returns:
  the value of the `minViewportWidth` property
Since:
  JavaFX 8u40
See Also:
  - `setMinViewportWidth(double)`
  - `minViewportWidthProperty()`

### minViewportWidthProperty

public final DoubleProperty minViewportWidthProperty()
Specify the minimum width of the ScrollPane Viewport. This is the width that will be available to the content node.

Returns:
  the `minViewportWidth` property
Since:
  JavaFX 8u40
See Also:
  - `getMinViewportWidth()`
  - `setMinViewportWidth(double)`

### setMinViewportHeight

public final void setMinViewportHeight(double value)
Sets the value of the `minViewportHeight` property.

Property description:
  Specify the minimum height of the ScrollPane Viewport. This is the height that will be available to the content node.
Parameters:
  `value` - the value for the `minViewportHeight` property
Since:
  JavaFX 8u40
See Also:
  - `getMinViewportHeight()`
  - `minViewportHeightProperty()`

### getMinViewportHeight

public final double getMinViewportHeight()
Gets the value of the `minViewportHeight` property.

Property description:
  Specify the minimum height of the ScrollPane Viewport. This is the height that will be available to the content node.
Returns:
  the value of the `minViewportHeight` property
Since:
  JavaFX 8u40
See Also:
  - `setMinViewportHeight(double)`
  - `minViewportHeightProperty()`

### minViewportHeightProperty

public final DoubleProperty minViewportHeightProperty()
Specify the minimum height of the ScrollPane Viewport. This is the height that will be available to the content node.

Returns:
  the `minViewportHeight` property
Since:
  JavaFX 8u40
See Also:
  - `getMinViewportHeight()`
  - `setMinViewportHeight(double)`

### setViewportBounds

public final void setViewportBounds(Bounds value)
Sets the value of the `viewportBounds` property.

Property description:
  The actual Bounds of the ScrollPane Viewport. This is the Bounds of the content node.
Parameters:
  `value` - the value for the `viewportBounds` property
See Also:
  - `getViewportBounds()`
  - `viewportBoundsProperty()`

### getViewportBounds

public final Bounds getViewportBounds()
Gets the value of the `viewportBounds` property.

Property description:
  The actual Bounds of the ScrollPane Viewport. This is the Bounds of the content node.
Returns:
  the value of the `viewportBounds` property
See Also:
  - `setViewportBounds(Bounds)`
  - `viewportBoundsProperty()`

### viewportBoundsProperty

public final ObjectProperty<Bounds> viewportBoundsProperty()
The actual Bounds of the ScrollPane Viewport. This is the Bounds of the content node.

Returns:
  the `viewportBounds` property
See Also:
  - `getViewportBounds()`
  - `setViewportBounds(Bounds)`

### createDefaultSkin

protected Skin<?> createDefaultSkin()
Create a new instance of the default skin for this control. This is called to create a skin for the control if no skin is provided via CSS `-fx-skin` or set explicitly in a sub-class with `setSkin(...)`.

Overrides:
  `createDefaultSkin` in class `Control`
Returns:
  new instance of default skin for this control. If null then the control will have no skin unless one is provided by css.

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

### getControlCssMetaData

public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()

Overrides:
  `getControlCssMetaData` in class `Control`
Returns:
  unmodifiable list of the controls css styleable properties
Since:
  JavaFX 8.0

### getInitialFocusTraversable

protected Boolean getInitialFocusTraversable()
Returns the initial focus traversable state of this control, for use by the JavaFX CSS engine to correctly set its initial value. This method is overridden as by default UI controls have focus traversable set to true, but that is not appropriate for this control.

Overrides:
  `getInitialFocusTraversable` in class `Control`
Returns:
  the initial focus traversable state of this control
Since:
  9

### queryAccessibleAttribute

public Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
This method is called by the assistive technology to request the value for an attribute.

This method is commonly overridden by subclasses to implement attributes that are required for a specific role.
If a particular attribute is not handled, the superclass implementation must be called.

Overrides:
  `queryAccessibleAttribute` in class `Control`
Parameters:
  `attribute` - the requested attribute
  `parameters` - optional list of parameters
Returns:
  the value for the requested attribute
See Also:
  - `AccessibleAttribute`