Class ResponsivePane

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.layout.Pane
javafx.scene.layout.StackPane
com.dlsc.gemsfx.ResponsivePane
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget

public class ResponsivePane extends javafx.scene.layout.StackPane
ResponsivePane is a container that allows for responsive behavior of a sidebar and a main content panel. Depending on the specified position of the sidebar (LEFT or RIGHT), it will automatically adjust its visibility based on the width of the pane. When the window width is narrow, the sidebar is hidden, and only the content panel is shown. When the window width is moderate, both a small sidebar and a large sidebar, along with the content panel, are displayed. When the window width is wide, both the large sidebar and the main content pane are shown. Similarly, if the sidebar is positioned at the TOP or BOTTOM, its visibility will be adjusted based on the height of the pane. However, it is also possible to force the sidebar to be displayed regardless of the window size.
  • Property Summary

    Properties
    Type
    Property
    Description
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
     
    final javafx.beans.property.BooleanProperty
    This property, when value is true, forces the display of the large sidebar even when the small sidebar is visible.
    final javafx.beans.property.DoubleProperty
    The gap between the sidebar and the main content area.
    final javafx.beans.property.BooleanProperty
    This property determines the display behavior of the large sidebar in relation to the small sidebar when the large sidebar is forced to display.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
     
    final javafx.beans.property.ObjectProperty<javafx.geometry.Side>
    Controls the side on which the sidebar (content area) is displayed relative to the main content.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
     

    Properties inherited from class javafx.scene.layout.StackPane

    alignment

    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.ObjectProperty<javafx.scene.Node>
     
    javafx.beans.property.ObjectProperty<javafx.scene.Node>
     

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

    Modifier and Type
    Method
    Description
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
     
    final javafx.beans.property.BooleanProperty
    This property, when value is true, forces the display of the large sidebar even when the small sidebar is visible.
    final javafx.beans.property.DoubleProperty
    The gap between the sidebar and the main content area.
    static List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>>
     
    final javafx.scene.Node
    Gets the value of the content property.
    List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>>
     
    double
    Gets the value of the gap property.
    final javafx.scene.Node
    Gets the value of the largeSidebar property.
    javafx.geometry.Side
    Gets the value of the side property.
    final javafx.scene.Node
    Gets the value of the smallSidebar property.
     
    final boolean
    Gets the value of the forceLargeSidebarDisplay property.
    final boolean
    Gets the value of the largeSidebarCoversSmall property.
    final javafx.beans.property.BooleanProperty
    This property determines the display behavior of the large sidebar in relation to the small sidebar when the large sidebar is forced to display.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
     
    protected void
     
    final void
    setContent(javafx.scene.Node value)
    Sets the value of the content property.
    final void
    setForceLargeSidebarDisplay(boolean forceLargeSidebarDisplay)
    Sets the value of the forceLargeSidebarDisplay property.
    void
    setGap(double gap)
    Sets the value of the gap property.
    final void
    setLargeSidebar(javafx.scene.Node value)
    Sets the value of the largeSidebar property.
    final void
    setLargeSidebarCoversSmall(boolean largeSidebarCoversSmall)
    Sets the value of the largeSidebarCoversSmall property.
    void
    setSide(javafx.geometry.Side side)
    Sets the value of the side property.
    final void
    setSmallSidebar(javafx.scene.Node value)
    Sets the value of the smallSidebar property.
    final javafx.beans.property.ObjectProperty<javafx.geometry.Side>
    Controls the side on which the sidebar (content area) is displayed relative to the main content.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
     

    Methods inherited from class javafx.scene.layout.StackPane

    alignmentProperty, clearConstraints, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, getAlignment, getAlignment, getContentBias, getMargin, requestLayout, setAlignment, setAlignment, setMargin

    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, 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, focusVisibleProperty, focusWithinProperty, 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, 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, requestFocusTraversal, 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 Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode
  • Property Details

  • Field Details

    • smallSidebar

      public javafx.beans.property.ObjectProperty<javafx.scene.Node> smallSidebar
    • largeSidebar

      public javafx.beans.property.ObjectProperty<javafx.scene.Node> largeSidebar
  • Constructor Details

    • ResponsivePane

      public ResponsivePane()
  • Method Details

    • getUserAgentStylesheet

      public String getUserAgentStylesheet()
      Overrides:
      getUserAgentStylesheet in class javafx.scene.layout.Region
    • contentProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> contentProperty()
      Returns:
      the content property
      See Also:
    • setContent

      public final void setContent(javafx.scene.Node value)
      Sets the value of the content property.
      Property description:
      Parameters:
      value - the value for the content property
      See Also:
    • getContent

      public final javafx.scene.Node getContent()
      Gets the value of the content property.
      Property description:
      Returns:
      the value of the content property
      See Also:
    • smallSidebarProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> smallSidebarProperty()
      Returns:
      the smallSidebar property
      See Also:
    • setSmallSidebar

      public final void setSmallSidebar(javafx.scene.Node value)
      Sets the value of the smallSidebar property.
      Property description:
      Parameters:
      value - the value for the smallSidebar property
      See Also:
    • getSmallSidebar

      public final javafx.scene.Node getSmallSidebar()
      Gets the value of the smallSidebar property.
      Property description:
      Returns:
      the value of the smallSidebar property
      See Also:
    • largeSidebarProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> largeSidebarProperty()
      Returns:
      the largeSidebar property
      See Also:
    • setLargeSidebar

      public final void setLargeSidebar(javafx.scene.Node value)
      Sets the value of the largeSidebar property.
      Property description:
      Parameters:
      value - the value for the largeSidebar property
      See Also:
    • getLargeSidebar

      public final javafx.scene.Node getLargeSidebar()
      Gets the value of the largeSidebar property.
      Property description:
      Returns:
      the value of the largeSidebar property
      See Also:
    • isLargeSidebarCoversSmall

      public final boolean isLargeSidebarCoversSmall()
      Gets the value of the largeSidebarCoversSmall property.
      Property description:
      This property determines the display behavior of the large sidebar in relation to the small sidebar when the large sidebar is forced to display. When set to true, the large sidebar will cover the small sidebar. When set to false, the large sidebar will position itself next to the small sidebar without overlaying, ensuring both sidebars are visible and accessible to the user.
      Returns:
      the value of the largeSidebarCoversSmall property
      See Also:
    • largeSidebarCoversSmallProperty

      public final javafx.beans.property.BooleanProperty largeSidebarCoversSmallProperty()
      This property determines the display behavior of the large sidebar in relation to the small sidebar when the large sidebar is forced to display. When set to true, the large sidebar will cover the small sidebar. When set to false, the large sidebar will position itself next to the small sidebar without overlaying, ensuring both sidebars are visible and accessible to the user.
      Returns:
      the largeSidebarCoversSmall property
      See Also:
    • setLargeSidebarCoversSmall

      public final void setLargeSidebarCoversSmall(boolean largeSidebarCoversSmall)
      Sets the value of the largeSidebarCoversSmall property.
      Property description:
      This property determines the display behavior of the large sidebar in relation to the small sidebar when the large sidebar is forced to display. When set to true, the large sidebar will cover the small sidebar. When set to false, the large sidebar will position itself next to the small sidebar without overlaying, ensuring both sidebars are visible and accessible to the user.
      Parameters:
      largeSidebarCoversSmall - the value for the largeSidebarCoversSmall property
      See Also:
    • isForceLargeSidebarDisplay

      public final boolean isForceLargeSidebarDisplay()
      Gets the value of the forceLargeSidebarDisplay property.
      Property description:
      This property, when value is true, forces the display of the large sidebar even when the small sidebar is visible.
      Returns:
      the value of the forceLargeSidebarDisplay property
      See Also:
    • forceLargeSidebarDisplayProperty

      public final javafx.beans.property.BooleanProperty forceLargeSidebarDisplayProperty()
      This property, when value is true, forces the display of the large sidebar even when the small sidebar is visible.
      Returns:
      the forceLargeSidebarDisplay property
      See Also:
    • setForceLargeSidebarDisplay

      public final void setForceLargeSidebarDisplay(boolean forceLargeSidebarDisplay)
      Sets the value of the forceLargeSidebarDisplay property.
      Property description:
      This property, when value is true, forces the display of the large sidebar even when the small sidebar is visible.
      Parameters:
      forceLargeSidebarDisplay - the value for the forceLargeSidebarDisplay property
      See Also:
    • sideProperty

      public final javafx.beans.property.ObjectProperty<javafx.geometry.Side> sideProperty()
      Controls the side on which the sidebar (content area) is displayed relative to the main content.

      Can be set via CSS using the -fx-side property. Valid values are: top, bottom, left, right. The default value is left.

      Returns:
      the side property
      See Also:
    • getSide

      public javafx.geometry.Side getSide()
      Gets the value of the side property.
      Property description:
      Controls the side on which the sidebar (content area) is displayed relative to the main content.

      Can be set via CSS using the -fx-side property. Valid values are: top, bottom, left, right. The default value is left.

      Returns:
      the value of the side property
      See Also:
    • setSide

      public void setSide(javafx.geometry.Side side)
      Sets the value of the side property.
      Property description:
      Controls the side on which the sidebar (content area) is displayed relative to the main content.

      Can be set via CSS using the -fx-side property. Valid values are: top, bottom, left, right. The default value is left.

      Parameters:
      side - the value for the side property
      See Also:
    • gapProperty

      public final javafx.beans.property.DoubleProperty gapProperty()
      The gap between the sidebar and the main content area.

      Can be set via CSS using the -fx-gap property. Valid values are: positive numbers. The default value is 0.

      Returns:
      the gap property
      See Also:
    • getGap

      public double getGap()
      Gets the value of the gap property.
      Property description:
      The gap between the sidebar and the main content area.

      Can be set via CSS using the -fx-gap property. Valid values are: positive numbers. The default value is 0.

      Returns:
      the value of the gap property
      See Also:
    • setGap

      public void setGap(double gap)
      Sets the value of the gap property.
      Property description:
      The gap between the sidebar and the main content area.

      Can be set via CSS using the -fx-gap property. Valid values are: positive numbers. The default value is 0.

      Parameters:
      gap - the value for the gap property
      See Also:
    • getClassCssMetaData

      public static List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> getClassCssMetaData()
    • getCssMetaData

      public List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> getCssMetaData()
      Specified by:
      getCssMetaData in interface javafx.css.Styleable
      Overrides:
      getCssMetaData in class javafx.scene.layout.StackPane
    • layoutChildren

      protected void layoutChildren()
      Overrides:
      layoutChildren in class javafx.scene.layout.StackPane