java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.layout.Pane
javafx.scene.layout.BorderPane
pamViewFX.fxNodes.PamBorderPane
pamViewFX.fxNodes.pamScrollers.acousticScroller.ScrollBarPane
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget
Direct Known Subclasses:
DataMapScrollBar

public class ScrollBarPane extends PamBorderPane
A custom scroll bar.
Author:
Jamie Macaulay
  • Property Summary

    Properties
    Type
    Property
    Description
    javafx.beans.property.DoubleProperty
     
    javafx.beans.property.BooleanProperty
    Property indicating that the scroll bar is moving.
    javafx.beans.property.DoubleProperty
     

    Properties inherited from class javafx.scene.layout.BorderPane

    bottom, center, left, right, top

    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, focusVisible, focusWithin, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    javafx.beans.property.BooleanProperty
    Boolean property for dragging.

    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
    Constructor to create a scroll bar pane.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addValueListener(javafx.beans.value.ChangeListener val)
    Convenience function which adds a change listener to the current value and visible amount prooperty.
    javafx.beans.property.DoubleProperty
     
    void
    dragStarted(javafx.scene.input.MouseEvent event, javafx.scene.Node node)
    Called whenever a drag is started- e.g.
    double
     
    double
    Gets the value of the currentValue property.
    javafx.scene.canvas.Canvas
    Get the draw canvas;
    double
     
    javafx.beans.property.DoubleProperty
     
    double
    The minimum value of the scroll pane.
    javafx.beans.property.DoubleProperty
    Get the minimum possible value of the scroll bar in milliseoncss
    javafx.scene.layout.Pane
     
    javafx.scene.control.TextField
    Get the text box that shows the visible amount
    double
    Gets the value of the visibleAmount property.
    javafx.beans.property.BooleanProperty
    The changing property.
    boolean
    Check whether the scroll bar's default display units are millis (note that stored units for calculations always remain milliseconds)
    void
    Correctly sets the drag rectangle.
    void
    moveScrollRectangle(double scrollArrowIncrement)
    Move the rectangle in the scroll bar pane by an increment which is a percentage of the overal width.
    javafx.beans.property.BooleanProperty
    Property indicating that the scroll bar is moving.
    void
    setBlockIncrement(double blockIncrement)
     
    void
    setCurrentValue(double currentValue)
    Sets the value of the currentValue property.
    void
    setDrawCanvas(javafx.scene.canvas.Canvas drawCanvas)
    Set the draw canvas
    void
    setMaxVal(double maxVal)
     
    void
    setMaxValueProperty(javafx.beans.property.DoubleProperty maxValueProperty)
     
    void
    setMinVal(double minVal)
     
    void
    setMinValueProperty(javafx.beans.property.DoubleProperty minValueProperty)
    Set the minimum possible value of the scroll bar in milliseoncds
    void
    setShowMillis(boolean showMillis)
    Set whether the scroll bar's default display units to milliseconds (note that stored units for calculations always remain milliseconds)
    void
    setVisibleAmount(double visibleAmount)
    Sets the value of the visibleAmount property.
    javafx.beans.property.DoubleProperty
     

    Methods inherited from class pamViewFX.fxNodes.PamBorderPane

    setBottomSpace, setLeftSpace, setRightSpace, setTopSpace

    Methods inherited from class javafx.scene.layout.BorderPane

    bottomProperty, centerProperty, clearConstraints, getAlignment, getBottom, getCenter, getContentBias, getLeft, getMargin, getRight, getTop, leftProperty, rightProperty, setAlignment, setBottom, setCenter, setLeft, setMargin, setRight, setTop, topProperty

    Methods inherited from class javafx.scene.layout.Pane

    getChildren

    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, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPositionX, snapPositionY, snapSizeX, snapSizeY, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty

    Methods inherited from class javafx.scene.Parent

    getBaselineOffset, getChildrenUnmodifiable, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout

    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, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, 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, setEffect, setEventDispatcher, setFocusTraversable, 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, 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

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode
  • Property Details

  • Field Details

    • dragObserver

      public javafx.beans.property.BooleanProperty dragObserver
      Boolean property for dragging. True if dragging is occurred.
  • Constructor Details

    • ScrollBarPane

      public ScrollBarPane()
      Constructor to create a scroll bar pane.
  • Method Details

    • layoutRectangle

      public void layoutRectangle()
      Correctly sets the drag rectangle.
    • getTextBox

      public javafx.scene.control.TextField getTextBox()
      Get the text box that shows the visible amount
      Returns:
      - the text field
    • moveScrollRectangle

      public void moveScrollRectangle(double scrollArrowIncrement)
      Move the rectangle in the scroll bar pane by an increment which is a percentage of the overal width.
      Parameters:
      scrollArrowIncrement -
    • dragStarted

      public void dragStarted(javafx.scene.input.MouseEvent event, javafx.scene.Node node)
      Called whenever a drag is started- e.g. when mouse is pressed. Need to record where in the rectangle the mouise click happened. Otherwise drag always ends up at (0,0)
      Parameters:
      event - - the mouse event.
    • getDrawCanvas

      public javafx.scene.canvas.Canvas getDrawCanvas()
      Get the draw canvas;
      Returns:
    • getScrollRectangle

      public javafx.scene.layout.Pane getScrollRectangle()
    • setDrawCanvas

      public void setDrawCanvas(javafx.scene.canvas.Canvas drawCanvas)
      Set the draw canvas
    • getMinVal

      public double getMinVal()
      The minimum value of the scroll pane. i.e. the minimum possible value of the current value. .
      Returns:
      the minimum possible value of the scroll pane.
    • setMinVal

      public void setMinVal(double minVal)
    • getMaxVal

      public double getMaxVal()
    • setMaxVal

      public void setMaxVal(double maxVal)
    • getBlockIncrement

      public double getBlockIncrement()
    • setBlockIncrement

      public void setBlockIncrement(double blockIncrement)
    • getCurrentValue

      public double getCurrentValue()
      Gets the value of the currentValue property.
      Property description:
      Returns:
      the value of the currentValue property
      See Also:
    • setCurrentValue

      public void setCurrentValue(double currentValue)
      Sets the value of the currentValue property.
      Property description:
      Parameters:
      currentValue - the value for the currentValue property
      See Also:
    • currentValueProperty

      public javafx.beans.property.DoubleProperty currentValueProperty()
      Returns:
      the currentValue property
      See Also:
    • getVisibleAmount

      public double getVisibleAmount()
      Gets the value of the visibleAmount property.
      Property description:
      Returns:
      the value of the visibleAmount property
      See Also:
    • setVisibleAmount

      public void setVisibleAmount(double visibleAmount)
      Sets the value of the visibleAmount property.
      Property description:
      Parameters:
      visibleAmount - the value for the visibleAmount property
      See Also:
    • visibleAmountProperty

      public javafx.beans.property.DoubleProperty visibleAmountProperty()
      Returns:
      the visibleAmount property
      See Also:
    • isChangingProperty

      public javafx.beans.property.BooleanProperty isChangingProperty()
      The changing property. True if the scroll rectangle is moving.
      Returns:
      true if the scroll rectangle is moving.
    • getMinValueProperty

      public javafx.beans.property.DoubleProperty getMinValueProperty()
      Get the minimum possible value of the scroll bar in milliseoncss
    • setMinValueProperty

      public void setMinValueProperty(javafx.beans.property.DoubleProperty minValueProperty)
      Set the minimum possible value of the scroll bar in milliseoncds
    • getMaxValueProperty

      public javafx.beans.property.DoubleProperty getMaxValueProperty()
    • setMaxValueProperty

      public void setMaxValueProperty(javafx.beans.property.DoubleProperty maxValueProperty)
    • scrollMovingProperty

      public javafx.beans.property.BooleanProperty scrollMovingProperty()
      Property indicating that the scroll bar is moving.
      Returns:
      - indicates the scroll bar is moving.
    • isShowMillis

      public boolean isShowMillis()
      Check whether the scroll bar's default display units are millis (note that stored units for calculations always remain milliseconds)
      Returns:
      true if the display units are millis
    • setShowMillis

      public void setShowMillis(boolean showMillis)
      Set whether the scroll bar's default display units to milliseconds (note that stored units for calculations always remain milliseconds)
      Parameters:
      true - if the display units are millis
    • addValueListener

      public void addValueListener(javafx.beans.value.ChangeListener val)
      Convenience function which adds a change listener to the current value and visible amount prooperty.
      Parameters:
      val - - the change listener to add.