Package org.fxmisc.flowless
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
-
-
Field Summary
Fields Modifier and Type Field Description private Vcontentprivate static javafx.css.PseudoClassCONTENT_FOCUSEDprivate javafx.beans.value.ChangeListener<java.lang.Boolean>contentFocusedListenerprivate javafx.scene.control.ScrollBarhbarprivate org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy>hbarPolicyThe Policy for the Horizontal ScrollBarprivate org.reactfx.value.Var<java.lang.Double>hbarValueprivate javafx.beans.value.ChangeListener<java.lang.Double>hbarValueListenerprivate org.reactfx.value.Var<java.lang.Double>hPosEstimateprivate javafx.beans.value.ChangeListener<java.lang.Double>hPosEstimateListenerprivate javafx.scene.control.ScrollBarvbarprivate org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy>vbarPolicyThe Policy for the Vertical ScrollBarprivate org.reactfx.value.Var<java.lang.Double>vbarValueprivate javafx.beans.value.ChangeListener<java.lang.Double>vbarValueListenerprivate org.reactfx.value.Var<java.lang.Double>vPosEstimateprivate javafx.beans.value.ChangeListener<java.lang.Double>vPosEstimateListener
-
Constructor Summary
Constructors Constructor Description VirtualizedScrollPane(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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected 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<java.lang.Double>estimatedScrollXProperty()org.reactfx.value.Var<java.lang.Double>estimatedScrollYProperty()VgetContent()Does not unbind scrolling from Content before returning Content.javafx.scene.control.ScrollPane.ScrollBarPolicygetHbarPolicy()javafx.scene.control.ScrollPane.ScrollBarPolicygetVbarPolicy()org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy>hbarPolicyProperty()protected voidlayoutChildren()private static doubleoffsetToScrollbarPosition(double contentOffset, double viewportSize, double padding, double contentSize)VremoveContent()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 pixelvoidsetHbarPolicy(javafx.scene.control.ScrollPane.ScrollBarPolicy value)private voidsetHPosition(double pos)private static voidsetupUnitIncrement(javafx.scene.control.ScrollBar bar)voidsetVbarPolicy(javafx.scene.control.ScrollPane.ScrollBarPolicy value)private voidsetVPosition(double pos)org.reactfx.value.Val<java.lang.Double>totalHeightEstimateProperty()org.reactfx.value.Val<java.lang.Double>totalWidthEstimateProperty()private voidunbindScrollBar(javafx.scene.control.ScrollBar bar)org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy>vbarPolicyProperty()-
Methods 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, widthProperty
-
Methods inherited from class javafx.scene.Parent
getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
Methods inherited from class javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.fxmisc.flowless.Virtualized
getEstimatedScrollX, getEstimatedScrollY, getTotalHeightEstimate, getTotalWidthEstimate, scrollBy, scrollBy, scrollToPixel, scrollToPixel
-
-
-
-
Field Detail
-
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
-
content
private final V extends javafx.scene.layout.Region & Virtualized content
-
contentFocusedListener
private final javafx.beans.value.ChangeListener<java.lang.Boolean> contentFocusedListener
-
hbarValueListener
private final javafx.beans.value.ChangeListener<java.lang.Double> hbarValueListener
-
hPosEstimateListener
private javafx.beans.value.ChangeListener<java.lang.Double> hPosEstimateListener
-
vbarValueListener
private final javafx.beans.value.ChangeListener<java.lang.Double> vbarValueListener
-
vPosEstimateListener
private final javafx.beans.value.ChangeListener<java.lang.Double> vPosEstimateListener
-
hbarValue
private org.reactfx.value.Var<java.lang.Double> hbarValue
-
vbarValue
private org.reactfx.value.Var<java.lang.Double> vbarValue
-
hPosEstimate
private org.reactfx.value.Var<java.lang.Double> hPosEstimate
-
vPosEstimate
private org.reactfx.value.Var<java.lang.Double> vPosEstimate
-
hbarPolicy
private final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> hbarPolicy
The Policy for the Horizontal ScrollBar
-
vbarPolicy
private final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> vbarPolicy
The Policy for the Vertical ScrollBar
-
-
Constructor Detail
-
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
public VirtualizedScrollPane(V content)
Constructs a VirtualizedScrollPane that only displays its horizontal and vertical scroll bars as needed
-
-
Method Detail
-
getHbarPolicy
public final javafx.scene.control.ScrollPane.ScrollBarPolicy getHbarPolicy()
-
setHbarPolicy
public final void setHbarPolicy(javafx.scene.control.ScrollPane.ScrollBarPolicy value)
-
hbarPolicyProperty
public final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> hbarPolicyProperty()
-
getVbarPolicy
public final javafx.scene.control.ScrollPane.ScrollBarPolicy getVbarPolicy()
-
setVbarPolicy
public final void setVbarPolicy(javafx.scene.control.ScrollPane.ScrollBarPolicy value)
-
vbarPolicyProperty
public final org.reactfx.value.Var<javafx.scene.control.ScrollPane.ScrollBarPolicy> vbarPolicyProperty()
-
getContent
public V getContent()
Does not unbind scrolling from Content before returning Content.- Returns:
- - the content
-
removeContent
public V 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
public org.reactfx.value.Val<java.lang.Double> totalWidthEstimateProperty()
- Specified by:
totalWidthEstimatePropertyin interfaceVirtualized
-
totalHeightEstimateProperty
public org.reactfx.value.Val<java.lang.Double> totalHeightEstimateProperty()
- Specified by:
totalHeightEstimatePropertyin interfaceVirtualized
-
estimatedScrollXProperty
public org.reactfx.value.Var<java.lang.Double> estimatedScrollXProperty()
- Specified by:
estimatedScrollXPropertyin interfaceVirtualized
-
estimatedScrollYProperty
public org.reactfx.value.Var<java.lang.Double> estimatedScrollYProperty()
- Specified by:
estimatedScrollYPropertyin interfaceVirtualized
-
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)
-
-