Class VirtualScrollPane

All Implemented Interfaces:
Styleable, EventTarget, Skinnable

public class VirtualScrollPane extends Control
Implementation of a scroll pane which is intended to use with virtualized controls.

The thing is, usually, virtualized controls do not expose the real bounds of the content because they are virtual bounds. For this reason a scroll pane would have no way to determine its content bounds. This scroll pane allows to specify the Bounds object to use to determine the content bounds, the scrollable area length.

Apart from this peculiarity, this is a normal scroll pane, BUT, since it's made from scratch (copied from MaterialFX mostly), it differs in many aspects from the JavaFX's one.

Since this uses the new MFXScrollBars the values are also clamped between 0.0 and 1.0, see MFXScrollBar for a better explanation.

Listing all the features of this scroll pane we have:

- The possibility to change the layout strategy for the scroll bars, see ScrollPaneEnums.LayoutMode and VirtualScrollPaneSkin

- The possibility of auto hide the scroll bars after a certain amount of time

- The scroll bars policy, which differs from the JavaFX's one

- The possibility to change the position of the scroll bars, see ScrollPaneEnums.HBarPos and ScrollPaneEnums.VBarPos

- The possibility to specify extra padding for the scroll bars

- The possibility to scroll with the mouse (not called pannable anymore but dragToScroll, dragToScrollProperty())

- Ports all the new features of MFXScrollBar which they'll be bound to, such as: MFXScrollBar.buttonsVisibleProperty(), MFXScrollBar.buttonsGapProperty(), MFXScrollBar.trackIncrementProperty(), MFXScrollBar.unitIncrementProperty(), MFXScrollBar.smoothScrollProperty() and MFXScrollBar.trackSmoothScrollProperty().

This also offers two new PseudoClasses:

- ":compact": active when the layoutModeProperty() is set to ScrollPaneEnums.LayoutMode.COMPACT

- ":drag-to-scroll": active when the dragToScrollProperty() is set to true

Removed features from the JavaFX's one are: fitToHeight and fitToWidth (just here because it's virtual), the possibility to specify the viewport's bounds.

Last but not least, since this uses the new MFXScrollBars, it also allows to change their behavior with hBarBehaviorProperty() and vBarBehaviorProperty().
  • Property Details

  • Constructor Details

    • VirtualScrollPane

      public VirtualScrollPane()
    • VirtualScrollPane

      public VirtualScrollPane(Node content)
  • Method Details

    • createDefaultSkin

      protected Skin<?> createDefaultSkin()
      Overrides:
      createDefaultSkin in class Control
    • getControlCssMetaData

      protected List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
      Overrides:
      getControlCssMetaData in class Control
    • getUserAgentStylesheet

      public String getUserAgentStylesheet()
      Overrides:
      getUserAgentStylesheet in class Region
    • getLayoutMode

      public ScrollPaneEnums.LayoutMode getLayoutMode()
      Gets the value of the layoutMode property.
      Property description:
      Specifies the layout strategy for the scroll bars, see ScrollPaneEnums.LayoutMode or VirtualScrollPaneSkin for an explanation.
      Returns:
      the value of the layoutMode property
      See Also:
    • layoutModeProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableObjectProperty<ScrollPaneEnums.LayoutMode> layoutModeProperty()
      Specifies the layout strategy for the scroll bars, see ScrollPaneEnums.LayoutMode or VirtualScrollPaneSkin for an explanation.
      Returns:
      the layoutMode property
      See Also:
    • setLayoutMode

      public void setLayoutMode(ScrollPaneEnums.LayoutMode layoutMode)
      Sets the value of the layoutMode property.
      Property description:
      Specifies the layout strategy for the scroll bars, see ScrollPaneEnums.LayoutMode or VirtualScrollPaneSkin for an explanation.
      Parameters:
      layoutMode - the value for the layoutMode property
      See Also:
    • isAutoHideBars

      public boolean isAutoHideBars()
      Gets the value of the autoHideBars property.
      Property description:
      Specifies whether to auto hide the scroll bars after a certain amount of time.
      Returns:
      the value of the autoHideBars property
      See Also:
    • autoHideBarsProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanProperty autoHideBarsProperty()
      Specifies whether to auto hide the scroll bars after a certain amount of time.
      Returns:
      the autoHideBars property
      See Also:
    • setAutoHideBars

      public void setAutoHideBars(boolean autoHideBars)
      Sets the value of the autoHideBars property.
      Property description:
      Specifies whether to auto hide the scroll bars after a certain amount of time.
      Parameters:
      autoHideBars - the value for the autoHideBars property
      See Also:
    • getHBarPolicy

      public ScrollPaneEnums.ScrollBarPolicy getHBarPolicy()
      Gets the value of the hBarPolicy property.
      Property description:
      Specifies the horizontal scroll bar visibility policy.
      Returns:
      the value of the hBarPolicy property
      See Also:
    • hBarPolicyProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableObjectProperty<ScrollPaneEnums.ScrollBarPolicy> hBarPolicyProperty()
      Specifies the horizontal scroll bar visibility policy.
      Returns:
      the hBarPolicy property
      See Also:
    • setHBarPolicy

      public void setHBarPolicy(ScrollPaneEnums.ScrollBarPolicy hBarPolicy)
      Sets the value of the hBarPolicy property.
      Property description:
      Specifies the horizontal scroll bar visibility policy.
      Parameters:
      hBarPolicy - the value for the hBarPolicy property
      See Also:
    • getVBarPolicy

      public ScrollPaneEnums.ScrollBarPolicy getVBarPolicy()
      Gets the value of the vBarPolicy property.
      Property description:
      Specifies the vertical scroll bar visibility policy.
      Returns:
      the value of the vBarPolicy property
      See Also:
    • vBarPolicyProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableObjectProperty<ScrollPaneEnums.ScrollBarPolicy> vBarPolicyProperty()
      Specifies the vertical scroll bar visibility policy.
      Returns:
      the vBarPolicy property
      See Also:
    • setVBarPolicy

      public void setVBarPolicy(ScrollPaneEnums.ScrollBarPolicy vBarPolicy)
      Sets the value of the vBarPolicy property.
      Property description:
      Specifies the vertical scroll bar visibility policy.
      Parameters:
      vBarPolicy - the value for the vBarPolicy property
      See Also:
    • getHBarPos

      public ScrollPaneEnums.HBarPos getHBarPos()
      Gets the value of the hBarPos property.
      Property description:
      Specifies the position of the horizontal scroll bar.
      Returns:
      the value of the hBarPos property
      See Also:
    • hBarPosProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableObjectProperty<ScrollPaneEnums.HBarPos> hBarPosProperty()
      Specifies the position of the horizontal scroll bar.
      Returns:
      the hBarPos property
      See Also:
    • setHBarPos

      public void setHBarPos(ScrollPaneEnums.HBarPos hBarPos)
      Sets the value of the hBarPos property.
      Property description:
      Specifies the position of the horizontal scroll bar.
      Parameters:
      hBarPos - the value for the hBarPos property
      See Also:
    • getVBarPos

      public ScrollPaneEnums.VBarPos getVBarPos()
      Gets the value of the vBarPos property.
      Property description:
      Specifies the position of the vertical scroll bar.
      Returns:
      the value of the vBarPos property
      See Also:
    • vBarPosProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableObjectProperty<ScrollPaneEnums.VBarPos> vBarPosProperty()
      Specifies the position of the vertical scroll bar.
      Returns:
      the vBarPos property
      See Also:
    • setVBarPos

      public void setVBarPos(ScrollPaneEnums.VBarPos vBarPos)
      Sets the value of the vBarPos property.
      Property description:
      Specifies the position of the vertical scroll bar.
      Parameters:
      vBarPos - the value for the vBarPos property
      See Also:
    • getHBarPadding

      public Insets getHBarPadding()
      Gets the value of the hBarPadding property.
      Property description:
      Specifies the extra padding for the horizontal scroll bar.
      Returns:
      the value of the hBarPadding property
      See Also:
    • hBarPaddingProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableObjectProperty<Insets> hBarPaddingProperty()
      Specifies the extra padding for the horizontal scroll bar.
      Returns:
      the hBarPadding property
      See Also:
    • setHBarPadding

      public void setHBarPadding(Insets hBarPadding)
      Sets the value of the hBarPadding property.
      Property description:
      Specifies the extra padding for the horizontal scroll bar.
      Parameters:
      hBarPadding - the value for the hBarPadding property
      See Also:
    • getVBarPadding

      public Insets getVBarPadding()
      Gets the value of the vBarPadding property.
      Property description:
      Specifies the extra padding for the vertical scroll bar.
      Returns:
      the value of the vBarPadding property
      See Also:
    • vBarPaddingProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableObjectProperty<Insets> vBarPaddingProperty()
      Specifies the extra padding for the vertical scroll bar.
      Returns:
      the vBarPadding property
      See Also:
    • setVBarPadding

      public void setVBarPadding(Insets vBarPadding)
      Sets the value of the vBarPadding property.
      Property description:
      Specifies the extra padding for the vertical scroll bar.
      Parameters:
      vBarPadding - the value for the vBarPadding property
      See Also:
    • getHBarOffset

      public double getHBarOffset()
      Gets the value of the hBarOffset property.
      Property description:
      Specifies a value by which the horizontal scroll bar will be "shifted" on the x-axis.

      Note that as a consequence this will also reduce the width of the bar.

      This can be useful if wrapping content which has headers or extra nodes of some sort and the bar ends up covering them.

      Returns:
      the value of the hBarOffset property
      See Also:
    • hBarOffsetProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableDoubleProperty hBarOffsetProperty()
      Specifies a value by which the horizontal scroll bar will be "shifted" on the x-axis.

      Note that as a consequence this will also reduce the width of the bar.

      This can be useful if wrapping content which has headers or extra nodes of some sort and the bar ends up covering them.

      Returns:
      the hBarOffset property
      See Also:
    • setHBarOffset

      public void setHBarOffset(double hBarOffset)
      Sets the value of the hBarOffset property.
      Property description:
      Specifies a value by which the horizontal scroll bar will be "shifted" on the x-axis.

      Note that as a consequence this will also reduce the width of the bar.

      This can be useful if wrapping content which has headers or extra nodes of some sort and the bar ends up covering them.

      Parameters:
      hBarOffset - the value for the hBarOffset property
      See Also:
    • getVBarOffset

      public double getVBarOffset()
      Gets the value of the vBarOffset property.
      Property description:
      Specifies a value by which the vertical scroll bar will be "shifted" on the y-axis.

      Note that as a consequence this will also reduce the height of the bar.

      This can be useful if wrapping content which has headers or extra nodes of some sort and the bar ends up covering them.

      Returns:
      the value of the vBarOffset property
      See Also:
    • vBarOffsetProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableDoubleProperty vBarOffsetProperty()
      Specifies a value by which the vertical scroll bar will be "shifted" on the y-axis.

      Note that as a consequence this will also reduce the height of the bar.

      This can be useful if wrapping content which has headers or extra nodes of some sort and the bar ends up covering them.

      Returns:
      the vBarOffset property
      See Also:
    • setVBarOffset

      public void setVBarOffset(double vBarOffset)
      Sets the value of the vBarOffset property.
      Property description:
      Specifies a value by which the vertical scroll bar will be "shifted" on the y-axis.

      Note that as a consequence this will also reduce the height of the bar.

      This can be useful if wrapping content which has headers or extra nodes of some sort and the bar ends up covering them.

      Parameters:
      vBarOffset - the value for the vBarOffset property
      See Also:
    • isDragToScroll

      public boolean isDragToScroll()
      Gets the value of the dragToScroll property.
      Property description:
      Specifies whether the content can be scrolled with mouse dragging.
      Returns:
      the value of the dragToScroll property
      See Also:
    • dragToScrollProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanProperty dragToScrollProperty()
      Specifies whether the content can be scrolled with mouse dragging.
      Returns:
      the dragToScroll property
      See Also:
    • setDragToScroll

      public void setDragToScroll(boolean dragToScroll)
      Sets the value of the dragToScroll property.
      Property description:
      Specifies whether the content can be scrolled with mouse dragging.
      Parameters:
      dragToScroll - the value for the dragToScroll property
      See Also:
    • isButtonsVisible

      public boolean isButtonsVisible()
      Gets the value of the buttonsVisible property.
      Property description:
      Specifies whether to show or not the scroll bars' buttons.
      Returns:
      the value of the buttonsVisible property
      See Also:
    • buttonsVisibleProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanProperty buttonsVisibleProperty()
      Specifies whether to show or not the scroll bars' buttons.
      Returns:
      the buttonsVisible property
      See Also:
    • setButtonsVisible

      public void setButtonsVisible(boolean buttonsVisible)
      Sets the value of the buttonsVisible property.
      Property description:
      Specifies whether to show or not the scroll bars' buttons.
      Parameters:
      buttonsVisible - the value for the buttonsVisible property
      See Also:
    • getButtonsGap

      public double getButtonsGap()
      Gets the value of the buttonsGap property.
      Property description:
      Specifies the gap between the scroll bars' thumb and their buttons.
      Returns:
      the value of the buttonsGap property
      See Also:
    • buttonsGapProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableDoubleProperty buttonsGapProperty()
      Specifies the gap between the scroll bars' thumb and their buttons.
      Returns:
      the buttonsGap property
      See Also:
    • setButtonsGap

      public void setButtonsGap(double buttonsGap)
      Sets the value of the buttonsGap property.
      Property description:
      Specifies the gap between the scroll bars' thumb and their buttons.
      Parameters:
      buttonsGap - the value for the buttonsGap property
      See Also:
    • getHTrackIncrement

      public double getHTrackIncrement()
      Gets the value of the hTrackIncrement property.
      Property description:
      Specifies the amount added/subtracted to the horizontal scroll bar's value used by the scroll bar's track.
      Returns:
      the value of the hTrackIncrement property
      See Also:
    • hTrackIncrementProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableDoubleProperty hTrackIncrementProperty()
      Specifies the amount added/subtracted to the horizontal scroll bar's value used by the scroll bar's track.
      Returns:
      the hTrackIncrement property
      See Also:
    • setHTrackIncrement

      public void setHTrackIncrement(double hTrackIncrement)
      Sets the value of the hTrackIncrement property.
      Property description:
      Specifies the amount added/subtracted to the horizontal scroll bar's value used by the scroll bar's track.
      Parameters:
      hTrackIncrement - the value for the hTrackIncrement property
      See Also:
    • getHUnitIncrement

      public double getHUnitIncrement()
      Gets the value of the hUnitIncrement property.
      Property description:
      Specifies the amount added/subtracted to the horizontal scroll bar's value used by the buttons and by scrolling.
      Returns:
      the value of the hUnitIncrement property
      See Also:
    • hUnitIncrementProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableDoubleProperty hUnitIncrementProperty()
      Specifies the amount added/subtracted to the horizontal scroll bar's value used by the buttons and by scrolling.
      Returns:
      the hUnitIncrement property
      See Also:
    • setHUnitIncrement

      public void setHUnitIncrement(double hUnitIncrement)
      Sets the value of the hUnitIncrement property.
      Property description:
      Specifies the amount added/subtracted to the horizontal scroll bar's value used by the buttons and by scrolling.
      Parameters:
      hUnitIncrement - the value for the hUnitIncrement property
      See Also:
    • getVTrackIncrement

      public double getVTrackIncrement()
      Gets the value of the vTrackIncrement property.
      Property description:
      Specifies the amount added/subtracted to the vertical scroll bar's value used by the scroll bar's track.
      Returns:
      the value of the vTrackIncrement property
      See Also:
    • vTrackIncrementProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableDoubleProperty vTrackIncrementProperty()
      Specifies the amount added/subtracted to the vertical scroll bar's value used by the scroll bar's track.
      Returns:
      the vTrackIncrement property
      See Also:
    • setVTrackIncrement

      public void setVTrackIncrement(double trackIncrement)
      Sets the value of the vTrackIncrement property.
      Property description:
      Specifies the amount added/subtracted to the vertical scroll bar's value used by the scroll bar's track.
      Parameters:
      trackIncrement - the value for the vTrackIncrement property
      See Also:
    • getVUnitIncrement

      public double getVUnitIncrement()
      Gets the value of the vUnitIncrement property.
      Property description:
      Specifies the amount added/subtracted to the vertical scroll bar's value used by the buttons and by scrolling.
      Returns:
      the value of the vUnitIncrement property
      See Also:
    • vUnitIncrementProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableDoubleProperty vUnitIncrementProperty()
      Specifies the amount added/subtracted to the vertical scroll bar's value used by the buttons and by scrolling.
      Returns:
      the vUnitIncrement property
      See Also:
    • setVUnitIncrement

      public void setVUnitIncrement(double unitIncrement)
      Sets the value of the vUnitIncrement property.
      Property description:
      Specifies the amount added/subtracted to the vertical scroll bar's value used by the buttons and by scrolling.
      Parameters:
      unitIncrement - the value for the vUnitIncrement property
      See Also:
    • isSmoothScroll

      public boolean isSmoothScroll()
      Gets the value of the smoothScroll property.
      Property description:
      Specifies whether the scrolling should be smooth, done by animations.
      Returns:
      the value of the smoothScroll property
      See Also:
    • smoothScrollProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanProperty smoothScrollProperty()
      Specifies whether the scrolling should be smooth, done by animations.
      Returns:
      the smoothScroll property
      See Also:
    • setSmoothScroll

      public void setSmoothScroll(boolean smoothScroll)
      Sets the value of the smoothScroll property.
      Property description:
      Specifies whether the scrolling should be smooth, done by animations.
      Parameters:
      smoothScroll - the value for the smoothScroll property
      See Also:
    • isTrackSmoothScroll

      public boolean isTrackSmoothScroll()
      Gets the value of the trackSmoothScroll property.
      Property description:
      Specifies if the scrolling made by the track should be smooth, done by animations.

      The default behavior considers this feature an addition to the smoothScrollProperty(), meaning that for this to work the aforementioned feature must be enabled too.
      Returns:
      the value of the trackSmoothScroll property
      See Also:
    • trackSmoothScrollProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanProperty trackSmoothScrollProperty()
      Specifies if the scrolling made by the track should be smooth, done by animations.

      The default behavior considers this feature an addition to the smoothScrollProperty(), meaning that for this to work the aforementioned feature must be enabled too.
      Returns:
      the trackSmoothScroll property
      See Also:
    • setTrackSmoothScroll

      public void setTrackSmoothScroll(boolean trackSmoothScroll)
      Sets the value of the trackSmoothScroll property.
      Property description:
      Specifies if the scrolling made by the track should be smooth, done by animations.

      The default behavior considers this feature an addition to the smoothScrollProperty(), meaning that for this to work the aforementioned feature must be enabled too.
      Parameters:
      trackSmoothScroll - the value for the trackSmoothScroll property
      See Also:
    • getClipBorderRadius

      public double getClipBorderRadius()
      Gets the value of the clipBorderRadius property.
      Property description:
      Used by the viewport's clip to set its border radius. This is useful when you want to make a rounded scroll pane, this prevents the content from going outside the view.

      Side note: the clip is a Rectangle, now for some fucking reason the rectangle's arcWidth and arcHeight values used to make it round do not act like the border-radius or background-radius properties, instead their value is usually 2 / 2.5 times the latter. So for a border radius of 5 you want this value to be at least 10/13.
      Returns:
      the value of the clipBorderRadius property
      See Also:
    • clipBorderRadiusProperty

      public io.github.palexdev.mfxcore.base.properties.styleable.StyleableDoubleProperty clipBorderRadiusProperty()
      Used by the viewport's clip to set its border radius. This is useful when you want to make a rounded scroll pane, this prevents the content from going outside the view.

      Side note: the clip is a Rectangle, now for some fucking reason the rectangle's arcWidth and arcHeight values used to make it round do not act like the border-radius or background-radius properties, instead their value is usually 2 / 2.5 times the latter. So for a border radius of 5 you want this value to be at least 10/13.
      Returns:
      the clipBorderRadius property
      See Also:
    • setClipBorderRadius

      public void setClipBorderRadius(double clipBorderRadius)
      Sets the value of the clipBorderRadius property.
      Property description:
      Used by the viewport's clip to set its border radius. This is useful when you want to make a rounded scroll pane, this prevents the content from going outside the view.

      Side note: the clip is a Rectangle, now for some fucking reason the rectangle's arcWidth and arcHeight values used to make it round do not act like the border-radius or background-radius properties, instead their value is usually 2 / 2.5 times the latter. So for a border radius of 5 you want this value to be at least 10/13.
      Parameters:
      clipBorderRadius - the value for the clipBorderRadius property
      See Also:
    • getClassCssMetaData

      public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
    • getContent

      public Node getContent()
      Gets the value of the content property.
      Property description:
      Specifies the current scroll pane's content.
      Returns:
      the value of the content property
      See Also:
    • contentProperty

      public ObjectProperty<Node> contentProperty()
      Specifies the current scroll pane's content.
      Returns:
      the content property
      See Also:
    • setContent

      public void setContent(Node content)
      Sets the value of the content property.
      Property description:
      Specifies the current scroll pane's content.
      Parameters:
      content - the value for the content property
      See Also:
    • getContentBounds

      public VirtualBounds getContentBounds()
      Gets the value of the contentBounds property.
      Property description:
      Specifies the content bounds, this cannot be ignored to make the scroll pane work as intended.
      Returns:
      the value of the contentBounds property
      See Also:
    • contentBoundsProperty

      public ObjectProperty<VirtualBounds> contentBoundsProperty()
      Specifies the content bounds, this cannot be ignored to make the scroll pane work as intended.
      Returns:
      the contentBounds property
      See Also:
    • setContentBounds

      public void setContentBounds(VirtualBounds contentBounds)
      Sets the value of the contentBounds property.
      Property description:
      Specifies the content bounds, this cannot be ignored to make the scroll pane work as intended.
      Parameters:
      contentBounds - the value for the contentBounds property
      See Also:
    • getHMin

      public double getHMin()
      Gets the value of the hMin property.
      Property description:
      Specifies the horizontal scroll bar's minimum value.
      Returns:
      the value of the hMin property
      See Also:
    • hMinProperty

      public DoubleProperty hMinProperty()
      Specifies the horizontal scroll bar's minimum value.
      Returns:
      the hMin property
      See Also:
    • setHMin

      public void setHMin(double hMin)
      Sets the value of the hMin property.
      Property description:
      Specifies the horizontal scroll bar's minimum value.
      Parameters:
      hMin - the value for the hMin property
      See Also:
    • getHVal

      public double getHVal()
      Gets the value of the hVal property.
      Property description:
      Specifies the horizontal scroll bar's value.
      Returns:
      the value of the hVal property
      See Also:
    • hValProperty

      public DoubleProperty hValProperty()
      Specifies the horizontal scroll bar's value.
      Returns:
      the hVal property
      See Also:
    • setHVal

      public void setHVal(double hVal)
      Sets the value of the hVal property.
      Property description:
      Specifies the horizontal scroll bar's value.
      Parameters:
      hVal - the value for the hVal property
      See Also:
    • getHMax

      public double getHMax()
      Gets the value of the hMax property.
      Property description:
      Specifies the horizontal scroll bar's maximum value.
      Returns:
      the value of the hMax property
      See Also:
    • hMaxProperty

      public DoubleProperty hMaxProperty()
      Specifies the horizontal scroll bar's maximum value.
      Returns:
      the hMax property
      See Also:
    • setHMax

      public void setHMax(double hMax)
      Sets the value of the hMax property.
      Property description:
      Specifies the horizontal scroll bar's maximum value.
      Parameters:
      hMax - the value for the hMax property
      See Also:
    • getVMin

      public double getVMin()
      Gets the value of the vMin property.
      Property description:
      Specifies the vertical scroll bar's minimum value.
      Returns:
      the value of the vMin property
      See Also:
    • vMinProperty

      public DoubleProperty vMinProperty()
      Specifies the vertical scroll bar's minimum value.
      Returns:
      the vMin property
      See Also:
    • setVMin

      public void setVMin(double vMin)
      Sets the value of the vMin property.
      Property description:
      Specifies the vertical scroll bar's minimum value.
      Parameters:
      vMin - the value for the vMin property
      See Also:
    • getVVal

      public double getVVal()
      Gets the value of the vVal property.
      Property description:
      Specifies the vertical scroll bar's value.
      Returns:
      the value of the vVal property
      See Also:
    • vValProperty

      public DoubleProperty vValProperty()
      Specifies the vertical scroll bar's value.
      Returns:
      the vVal property
      See Also:
    • setVVal

      public void setVVal(double vVal)
      Sets the value of the vVal property.
      Property description:
      Specifies the vertical scroll bar's value.
      Parameters:
      vVal - the value for the vVal property
      See Also:
    • getVMax

      public double getVMax()
      Gets the value of the vMax property.
      Property description:
      Specifies the vertical scroll bar's maximum value.
      Returns:
      the value of the vMax property
      See Also:
    • vMaxProperty

      public DoubleProperty vMaxProperty()
      Specifies the vertical scroll bar's maximum value.
      Returns:
      the vMax property
      See Also:
    • setVMax

      public void setVMax(double vMax)
      Sets the value of the vMax property.
      Property description:
      Specifies the vertical scroll bar's maximum value.
      Parameters:
      vMax - the value for the vMax property
      See Also:
    • getOrientation

      public Orientation getOrientation()
      Gets the value of the orientation property.
      Property description:
      Specifies the main orientation of the scroll pane.

      This is used by the skin to determine the behavior of the scroll when the Shift button is pressed. By default, for:

      - VERTICAL orientation: if Shift is pressed the scroll will be horizontal

      - HORIZONTAL orientation: if Shift is pressed the scroll will be vertical

      Returns:
      the value of the orientation property
      See Also:
    • orientationProperty

      public ObjectProperty<Orientation> orientationProperty()
      Specifies the main orientation of the scroll pane.

      This is used by the skin to determine the behavior of the scroll when the Shift button is pressed. By default, for:

      - VERTICAL orientation: if Shift is pressed the scroll will be horizontal

      - HORIZONTAL orientation: if Shift is pressed the scroll will be vertical

      Returns:
      the orientation property
      See Also:
    • setOrientation

      public void setOrientation(Orientation orientation)
      Sets the value of the orientation property.
      Property description:
      Specifies the main orientation of the scroll pane.

      This is used by the skin to determine the behavior of the scroll when the Shift button is pressed. By default, for:

      - VERTICAL orientation: if Shift is pressed the scroll will be horizontal

      - HORIZONTAL orientation: if Shift is pressed the scroll will be vertical

      Parameters:
      orientation - the value for the orientation property
      See Also:
    • getHBarBehavior

      public Function<MFXScrollBar,MFXScrollBarBehavior> getHBarBehavior()
      Gets the value of the hBarBehavior property.
      Property description:
      Specifies the function used to build the horizontal scroll bar's behavior.
      Returns:
      the value of the hBarBehavior property
      See Also:
    • hBarBehaviorProperty

      public io.github.palexdev.mfxcore.base.properties.functional.FunctionProperty<MFXScrollBar,MFXScrollBarBehavior> hBarBehaviorProperty()
      Specifies the function used to build the horizontal scroll bar's behavior.
      Returns:
      the hBarBehavior property
      See Also:
    • setHBarBehavior

      public void setHBarBehavior(Function<MFXScrollBar,MFXScrollBarBehavior> hBarBehavior)
      Sets the value of the hBarBehavior property.
      Property description:
      Specifies the function used to build the horizontal scroll bar's behavior.
      Parameters:
      hBarBehavior - the value for the hBarBehavior property
      See Also:
    • getVBarBehavior

      public Function<MFXScrollBar,MFXScrollBarBehavior> getVBarBehavior()
      Gets the value of the vBarBehavior property.
      Property description:
      Specifies the function used to build the vertical scroll bar's behavior.
      Returns:
      the value of the vBarBehavior property
      See Also:
    • vBarBehaviorProperty

      public io.github.palexdev.mfxcore.base.properties.functional.FunctionProperty<MFXScrollBar,MFXScrollBarBehavior> vBarBehaviorProperty()
      Specifies the function used to build the vertical scroll bar's behavior.
      Returns:
      the vBarBehavior property
      See Also:
    • setVBarBehavior

      public void setVBarBehavior(Function<MFXScrollBar,MFXScrollBarBehavior> vBarBehavior)
      Sets the value of the vBarBehavior property.
      Property description:
      Specifies the function used to build the vertical scroll bar's behavior.
      Parameters:
      vBarBehavior - the value for the vBarBehavior property
      See Also: