Module FXDialogs

Class PersistentBottomSheet

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.layout.Pane
javafx.scene.layout.VBox
com.amirali.fxdialogs.nodes.PersistentBottomSheet
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget

public class PersistentBottomSheet extends javafx.scene.layout.VBox
  • Property Summary

    Properties
    Type
    Property
    Description
    javafx.beans.property.ObjectProperty<javafx.scene.image.Image>
    image property of dragHandler
    javafx.beans.property.ObjectProperty<javafx.util.Duration>
    default show and hide animations duration as a property
    javafx.beans.property.BooleanProperty
    showing state property

    Properties inherited from class javafx.scene.layout.VBox

    alignment, fillWidth, spacing

    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
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    when bottom sheet is collapsed
    static final int
    when bottom sheet is dragged by mouse
    static final int
    when bottom sheet is expanded
    static final int
    when bottom sheet is hidden
    static final int
    when bottom sheet is shown

    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
    default constructor
    PersistentBottomSheet(double spacing)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    adds a stack pane as drag area and an imageview to handle drag event at the top of bottom sheet when dragHandler dragged, it resizes the bottom sheet and pass the states to callBack, the minimum resize also depends on the height of drag area and maximum resize depends on the original height of bottom sheet
    javafx.beans.property.ObjectProperty<javafx.scene.image.Image>
    image property of dragHandler
    javafx.beans.property.ObjectProperty<javafx.util.Duration>
    default show and hide animations duration as a property
    bottom sheet states callBack
    javafx.util.Duration
    default show and hide animations duration
    void
    hide the bottom sheet with y-axis transition animation and given duration in setDuration(Duration duration)
    void
    hide(@NotNull javafx.util.Duration duration)
    hide the bottom sheet with y-axis transition animation
    boolean
    showing state of bottom sheet
    void
    setCallBack(@NotNull BottomSheetCallBack callBack)
    sets a callBack for bottom sheet states
    void
    setDuration(@NotNull javafx.util.Duration duration)
    sets the default duration of hide and show animations
    void
    setShowing(boolean showing)
    set showing state to hide or show the bottom sheet
    void
    show the bottom sheet with y-axis transition animation and given duration in setDuration(Duration duration)
    void
    show(@NotNull javafx.util.Duration duration)
    show the bottom sheet with y-axis transition animation
    javafx.beans.property.BooleanProperty
    showing state property

    Methods inherited from class javafx.scene.layout.VBox

    alignmentProperty, clearConstraints, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, fillWidthProperty, getAlignment, getClassCssMetaData, getContentBias, getCssMetaData, getMargin, getSpacing, getVgrow, isFillWidth, layoutChildren, requestLayout, setAlignment, setFillWidth, setMargin, setSpacing, setVgrow, spacingProperty

    Methods inherited from class javafx.scene.layout.Pane

    getChildren

    Methods inherited from class javafx.scene.layout.Region

    backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, getBackground, getBorder, 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, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, 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, 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 javafx.css.Styleable

    getStyleableNode
  • Property Details

    • showing

      public javafx.beans.property.BooleanProperty showingProperty
      showing state property
      See Also:
    • dragHandlerImage

      public javafx.beans.property.ObjectProperty<javafx.scene.image.Image> dragHandlerImageProperty
      image property of dragHandler
    • duration

      public javafx.beans.property.ObjectProperty<javafx.util.Duration> durationProperty
      default show and hide animations duration as a property
      See Also:
  • Field Details

    • COLLAPSED

      public static final int COLLAPSED
      when bottom sheet is collapsed
      See Also:
    • EXPANDED

      public static final int EXPANDED
      when bottom sheet is expanded
      See Also:
    • DRAGGED

      public static final int DRAGGED
      when bottom sheet is dragged by mouse
      See Also:
    • HIDDEN

      public static final int HIDDEN
      when bottom sheet is hidden
      See Also:
    • SHOWN

      public static final int SHOWN
      when bottom sheet is shown
      See Also:
  • Constructor Details

    • PersistentBottomSheet

      public PersistentBottomSheet()
      default constructor
    • PersistentBottomSheet

      public PersistentBottomSheet(double spacing)
      Parameters:
      spacing - vbox spacing between nodes
  • Method Details

    • hide

      public void hide(@NotNull @NotNull javafx.util.Duration duration)
      hide the bottom sheet with y-axis transition animation
      Parameters:
      duration - duration of hide animation
    • hide

      public void hide()
      hide the bottom sheet with y-axis transition animation and given duration in setDuration(Duration duration)
    • show

      public void show(@NotNull @NotNull javafx.util.Duration duration)
      show the bottom sheet with y-axis transition animation
      Parameters:
      duration - duration of show animation
    • show

      public void show()
      show the bottom sheet with y-axis transition animation and given duration in setDuration(Duration duration)
    • isShowing

      public boolean isShowing()
      showing state of bottom sheet
      Returns:
      boolean
    • setShowing

      public void setShowing(boolean showing)
      set showing state to hide or show the bottom sheet
      Parameters:
      showing - showing state
    • showingProperty

      public javafx.beans.property.BooleanProperty showingProperty()
      showing state property
      See Also:
    • addSupportResizing

      public void addSupportResizing()
      adds a stack pane as drag area and an imageview to handle drag event at the top of bottom sheet when dragHandler dragged, it resizes the bottom sheet and pass the states to callBack, the minimum resize also depends on the height of drag area and maximum resize depends on the original height of bottom sheet
    • dragHandlerImageProperty

      public javafx.beans.property.ObjectProperty<javafx.scene.image.Image> dragHandlerImageProperty()
      image property of dragHandler
    • setDuration

      public void setDuration(@NotNull @NotNull javafx.util.Duration duration)
      sets the default duration of hide and show animations
      Parameters:
      duration - default duration of hide and show animations
    • getDuration

      public javafx.util.Duration getDuration()
      default show and hide animations duration
      Returns:
      Duration
    • durationProperty

      public javafx.beans.property.ObjectProperty<javafx.util.Duration> durationProperty()
      default show and hide animations duration as a property
      See Also:
    • setCallBack

      public void setCallBack(@NotNull @NotNull BottomSheetCallBack callBack)
      sets a callBack for bottom sheet states
      Parameters:
      callBack - bottom sheet states callBack
    • getCallBack

      public BottomSheetCallBack getCallBack()
      bottom sheet states callBack
      Returns:
      BottomSheetCallBack