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
TypePropertyDescriptionjavafx.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.BooleanProperty
showing state propertyProperties 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
Modifier and TypeFieldDescriptionstatic final int
when bottom sheet is collapsedstatic final int
when bottom sheet is dragged by mousestatic final int
when bottom sheet is expandedstatic final int
when bottom sheet is hiddenstatic final int
when bottom sheet is shownFields 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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
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 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.Duration
default show and hide animations durationvoid
hide()
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 animationboolean
showing state of bottom sheetvoid
setCallBack
(@NotNull BottomSheetCallBack callBack) sets a callBack for bottom sheet statesvoid
setDuration
(@NotNull javafx.util.Duration duration) sets the default duration of hide and show animationsvoid
setShowing
(boolean showing) set showing state to hide or show the bottom sheetvoid
show()
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 animationjavafx.beans.property.BooleanProperty
showing 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, 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 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
-