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
PropertiesTypePropertyDescriptionjavafx.beans.property.ObjectProperty<javafx.scene.image.Image>image property of dragHandlerjavafx.beans.property.ObjectProperty<javafx.util.Duration>default show and hide animations duration as a propertyjavafx.beans.property.BooleanPropertyshowing state propertyProperties inherited from class javafx.scene.layout.VBox
alignment, fillWidth, spacingProperties 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 TypeFieldDescriptionstatic final intwhen bottom sheet is collapsedstatic final intwhen bottom sheet is dragged by mousestatic final intwhen bottom sheet is expandedstatic final intwhen bottom sheet is hiddenstatic final intwhen bottom sheet is shownFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadds 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 sheetjavafx.beans.property.ObjectProperty<javafx.scene.image.Image>image property of dragHandlerjavafx.beans.property.ObjectProperty<javafx.util.Duration>default show and hide animations duration as a propertybottom sheet states callBackjavafx.util.Durationdefault show and hide animations durationvoidhide()hide the bottom sheet with y-axis transition animation and given duration in setDuration(Duration duration)voidhide(@NotNull javafx.util.Duration duration) hide the bottom sheet with y-axis transition animationbooleanshowing state of bottom sheetvoidsetCallBack(@NotNull BottomSheetCallBack callBack) sets a callBack for bottom sheet statesvoidsetDuration(@NotNull javafx.util.Duration duration) sets the default duration of hide and show animationsvoidsetShowing(boolean showing) set showing state to hide or show the bottom sheetvoidshow()show the bottom sheet with y-axis transition animation and given duration in setDuration(Duration duration)voidshow(@NotNull javafx.util.Duration duration) show the bottom sheet with y-axis transition animationjavafx.beans.property.BooleanPropertyshowing state propertyMethods 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, spacingPropertyMethods inherited from class javafx.scene.layout.Pane
getChildrenMethods 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, widthPropertyMethods inherited from class javafx.scene.Parent
getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, 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, 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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface javafx.css.Styleable
getStyleableNode
-
Property Details
-
showing
public javafx.beans.property.BooleanProperty showingPropertyshowing state property- See Also:
-
dragHandlerImage
public javafx.beans.property.ObjectProperty<javafx.scene.image.Image> dragHandlerImagePropertyimage property of dragHandler -
duration
public javafx.beans.property.ObjectProperty<javafx.util.Duration> durationPropertydefault show and hide animations duration as a property- See Also:
-
-
Field Details
-
COLLAPSED
public static final int COLLAPSEDwhen bottom sheet is collapsed- See Also:
-
EXPANDED
public static final int EXPANDEDwhen bottom sheet is expanded- See Also:
-
DRAGGED
public static final int DRAGGEDwhen bottom sheet is dragged by mouse- See Also:
-
HIDDEN
public static final int HIDDENwhen bottom sheet is hidden- See Also:
-
SHOWN
public static final int SHOWNwhen 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
sets a callBack for bottom sheet states- Parameters:
callBack- bottom sheet states callBack
-
getCallBack
bottom sheet states callBack- Returns:
- BottomSheetCallBack
-