Class VirtualizedScrollPane<V extends javafx.scene.layout.Region & Virtualized>
java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
org.fxmisc.flowless.VirtualizedScrollPane<V>
- All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget, Virtualized
@DefaultProperty("content")
public class VirtualizedScrollPane<V extends javafx.scene.layout.Region & Virtualized>
extends javafx.scene.layout.Region
implements Virtualized
-
Property Summary
PropertiesTypePropertyDescriptionorg.reactfx.value.Var<Double> org.reactfx.value.Var<Double> final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> The Policy for the Horizontal ScrollBarorg.reactfx.value.Val<Double> org.reactfx.value.Val<Double> final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> The Policy for the Vertical ScrollBarProperties inherited from class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, widthProperties inherited from class javafx.scene.Parent
needsLayoutProperties inherited from class javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Vprivate static final javafx.css.PseudoClassprivate final javafx.beans.value.ChangeListener<Boolean> private final javafx.scene.control.ScrollBarprivate final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> The Policy for the Horizontal ScrollBarprivate org.reactfx.value.Var<Double> private final javafx.beans.value.ChangeListener<Double> private org.reactfx.value.Var<Double> private javafx.beans.value.ChangeListener<Double> private final javafx.scene.control.ScrollBarprivate final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> The Policy for the Vertical ScrollBarprivate org.reactfx.value.Var<Double> private final javafx.beans.value.ChangeListener<Double> private org.reactfx.value.Var<Double> private final javafx.beans.value.ChangeListener<Double> Fields inherited from class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZEFields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT -
Constructor Summary
ConstructorsConstructorDescriptionVirtualizedScrollPane(V content) Constructs a VirtualizedScrollPane that only displays its horizontal and vertical scroll bars as neededVirtualizedScrollPane(V content, javafx.scene.control.ScrollPane.ScrollBarPolicy hPolicy, javafx.scene.control.ScrollPane.ScrollBarPolicy vPolicy) Constructs a VirtualizedScrollPane with the given content and policies -
Method Summary
Modifier and TypeMethodDescriptionprotected doublecomputeMaxHeight(double width) protected doublecomputeMaxWidth(double height) protected doublecomputeMinHeight(double width) protected doublecomputeMinWidth(double height) protected doublecomputePrefHeight(double width) protected doublecomputePrefWidth(double height) private voiddispose()org.reactfx.value.Var<Double> org.reactfx.value.Var<Double> Does not unbind scrolling from Content before returning Content.final javafx.scene.control.ScrollPane.ScrollBarPolicyGets the value of thehbarPolicyproperty.final javafx.scene.control.ScrollPane.ScrollBarPolicyGets the value of thevbarPolicyproperty.final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> The Policy for the Horizontal ScrollBarprotected voidprivate static doubleoffsetToScrollbarPosition(double contentOffset, double viewportSize, double padding, double contentSize) Unbinds scrolling from Content before returning Content.private static doublescrollbarPositionToOffset(double scrollbarPos, double viewportSize, double padding, double contentSize) voidscrollXBy(double deltaX) Scroll the content horizontally by the given amount.voidscrollXToPixel(double pixel) Scroll the content horizontally to the pixelvoidscrollYBy(double deltaY) Scroll the content vertically by the given amount.voidscrollYToPixel(double pixel) Scroll the content vertically to the pixelfinal voidsetHbarPolicy(javafx.scene.control.ScrollPane.ScrollBarPolicy value) Sets the value of thehbarPolicyproperty.private voidsetHPosition(double pos) private static voidsetupUnitIncrement(javafx.scene.control.ScrollBar bar) final voidsetVbarPolicy(javafx.scene.control.ScrollPane.ScrollBarPolicy value) Sets the value of thevbarPolicyproperty.private voidsetVPosition(double pos) org.reactfx.value.Val<Double> org.reactfx.value.Val<Double> private voidunbindScrollBar(javafx.scene.control.ScrollBar bar) final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> The Policy for the Vertical ScrollBarMethods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getClassCssMetaData, getCssMetaData, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isResizable, 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, widthPropertyMethods inherited from class javafx.scene.Parent
getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setNeedsLayout, updateBoundsMethods inherited from class javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visiblePropertyMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface javafx.css.Styleable
getStyleableNodeMethods inherited from interface Virtualized
getEstimatedScrollX, getEstimatedScrollY, getTotalHeightEstimate, getTotalWidthEstimate, scrollBy, scrollBy, scrollToPixel, scrollToPixel
-
Property Details
-
hbarPolicy
public final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> hbarPolicyPropertyThe Policy for the Horizontal ScrollBar- See Also:
-
vbarPolicy
public final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> vbarPolicyPropertyThe Policy for the Vertical ScrollBar- See Also:
-
totalWidthEstimate
- Specified by:
totalWidthEstimatePropertyin interfaceVirtualized- Returns:
- the
totalWidthEstimateproperty - See Also:
-
totalHeightEstimate
- Specified by:
totalHeightEstimatePropertyin interfaceVirtualized- Returns:
- the
totalHeightEstimateproperty - See Also:
-
estimatedScrollX
- Specified by:
estimatedScrollXPropertyin interfaceVirtualized- Returns:
- the
estimatedScrollXproperty - See Also:
-
estimatedScrollY
- Specified by:
estimatedScrollYPropertyin interfaceVirtualized- Returns:
- the
estimatedScrollYproperty - See Also:
-
-
Field Details
-
CONTENT_FOCUSED
private static final javafx.css.PseudoClass CONTENT_FOCUSED -
hbar
private final javafx.scene.control.ScrollBar hbar -
vbar
private final javafx.scene.control.ScrollBar vbar -
-
contentFocusedListener
-
hbarValueListener
-
hPosEstimateListener
-
vbarValueListener
-
vPosEstimateListener
-
hbarValue
-
vbarValue
-
hPosEstimate
-
vPosEstimate
-
hbarPolicy
private final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> hbarPolicyThe Policy for the Horizontal ScrollBar -
vbarPolicy
private final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> vbarPolicyThe Policy for the Vertical ScrollBar
-
-
Constructor Details
-
VirtualizedScrollPane
public VirtualizedScrollPane(V content, javafx.scene.control.ScrollPane.ScrollBarPolicy hPolicy, javafx.scene.control.ScrollPane.ScrollBarPolicy vPolicy) Constructs a VirtualizedScrollPane with the given content and policies -
VirtualizedScrollPane
Constructs a VirtualizedScrollPane that only displays its horizontal and vertical scroll bars as needed
-
-
Method Details
-
getHbarPolicy
public final javafx.scene.control.ScrollPane.ScrollBarPolicy getHbarPolicy()Gets the value of thehbarPolicyproperty.- Property description:
- The Policy for the Horizontal ScrollBar
- Returns:
- the value of the
hbarPolicyproperty - See Also:
-
setHbarPolicy
public final void setHbarPolicy(javafx.scene.control.ScrollPane.ScrollBarPolicy value) Sets the value of thehbarPolicyproperty.- Property description:
- The Policy for the Horizontal ScrollBar
- Parameters:
value- the value for thehbarPolicyproperty- See Also:
-
hbarPolicyProperty
public final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> hbarPolicyProperty()The Policy for the Horizontal ScrollBar- Returns:
- the
hbarPolicyproperty - See Also:
-
getVbarPolicy
public final javafx.scene.control.ScrollPane.ScrollBarPolicy getVbarPolicy()Gets the value of thevbarPolicyproperty.- Property description:
- The Policy for the Vertical ScrollBar
- Returns:
- the value of the
vbarPolicyproperty - See Also:
-
setVbarPolicy
public final void setVbarPolicy(javafx.scene.control.ScrollPane.ScrollBarPolicy value) Sets the value of thevbarPolicyproperty.- Property description:
- The Policy for the Vertical ScrollBar
- Parameters:
value- the value for thevbarPolicyproperty- See Also:
-
vbarPolicyProperty
public final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> vbarPolicyProperty()The Policy for the Vertical ScrollBar- Returns:
- the
vbarPolicyproperty - See Also:
-
getContent
Does not unbind scrolling from Content before returning Content.- Returns:
- - the content
-
removeContent
Unbinds scrolling from Content before returning Content.- Returns:
- - the content
-
dispose
private void dispose() -
unbindScrollBar
private void unbindScrollBar(javafx.scene.control.ScrollBar bar) -
totalWidthEstimateProperty
- Specified by:
totalWidthEstimatePropertyin interfaceVirtualized- Returns:
- the
totalWidthEstimateproperty - See Also:
-
totalHeightEstimateProperty
- Specified by:
totalHeightEstimatePropertyin interfaceVirtualized- Returns:
- the
totalHeightEstimateproperty - See Also:
-
estimatedScrollXProperty
- Specified by:
estimatedScrollXPropertyin interfaceVirtualized- Returns:
- the
estimatedScrollXproperty - See Also:
-
estimatedScrollYProperty
- Specified by:
estimatedScrollYPropertyin interfaceVirtualized- Returns:
- the
estimatedScrollYproperty - See Also:
-
scrollXBy
public void scrollXBy(double deltaX) Description copied from interface:VirtualizedScroll the content horizontally by the given amount.- Specified by:
scrollXByin interfaceVirtualized- Parameters:
deltaX- positive value scrolls right, negative value scrolls left
-
scrollYBy
public void scrollYBy(double deltaY) Description copied from interface:VirtualizedScroll the content vertically by the given amount.- Specified by:
scrollYByin interfaceVirtualized- Parameters:
deltaY- positive value scrolls down, negative value scrolls up
-
scrollXToPixel
public void scrollXToPixel(double pixel) Description copied from interface:VirtualizedScroll the content horizontally to the pixel- Specified by:
scrollXToPixelin interfaceVirtualized- Parameters:
pixel- - the pixel position to which to scroll
-
scrollYToPixel
public void scrollYToPixel(double pixel) Description copied from interface:VirtualizedScroll the content vertically to the pixel- Specified by:
scrollYToPixelin interfaceVirtualized- Parameters:
pixel- - the pixel position to which to scroll
-
computePrefWidth
protected double computePrefWidth(double height) - Overrides:
computePrefWidthin classjavafx.scene.layout.Region
-
computePrefHeight
protected double computePrefHeight(double width) - Overrides:
computePrefHeightin classjavafx.scene.layout.Region
-
computeMinWidth
protected double computeMinWidth(double height) - Overrides:
computeMinWidthin classjavafx.scene.layout.Region
-
computeMinHeight
protected double computeMinHeight(double width) - Overrides:
computeMinHeightin classjavafx.scene.layout.Region
-
computeMaxWidth
protected double computeMaxWidth(double height) - Overrides:
computeMaxWidthin classjavafx.scene.layout.Region
-
computeMaxHeight
protected double computeMaxHeight(double width) - Overrides:
computeMaxHeightin classjavafx.scene.layout.Region
-
layoutChildren
protected void layoutChildren()- Overrides:
layoutChildrenin classjavafx.scene.Parent
-
setHPosition
private void setHPosition(double pos) -
setVPosition
private void setVPosition(double pos) -
setupUnitIncrement
private static void setupUnitIncrement(javafx.scene.control.ScrollBar bar) -
offsetToScrollbarPosition
private static double offsetToScrollbarPosition(double contentOffset, double viewportSize, double padding, double contentSize) -
scrollbarPositionToOffset
private static double scrollbarPositionToOffset(double scrollbarPos, double viewportSize, double padding, double contentSize)
-