Class InfoCenterPane

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

public class InfoCenterPane extends javafx.scene.layout.StackPane
A pane used for managing a single instance of InfoCenterView. The pane will show or hide the view depending on various criteria, e.g. events that have been received or the auto-hide feature is kicking in.

Note: There is a known issue with the InfoCenterPane component on Windows systems where ghost images of previously hidden InfoCenterViews may appear occasionally. This problem does not occur on macOS, suggesting it may be a bug specific to the JavaFX implementation on Windows.

Workaround: To prevent this issue, avoid using InfoCenterPane directly as the root of a Scene. Instead, wrap InfoCenterPane in another layout container, such as a StackPane or another suitable container. This arrangement helps to resolve the rendering anomaly.

   InfoCenterPane infoCenterPane = new InfoCenterPane();
   StackPane root = new StackPane(infoCenterPane);

  • Property Summary

    Properties
    Type
    Property
    Description
    final javafx.beans.property.ObjectProperty<javafx.util.Duration>
    A duration after which the pane will automatically hide the info center (if it isn't currently pinned and the mouse cursor is not on top of the info center).
    final javafx.beans.property.BooleanProperty
    A flag that determines if the info center view should automatically disappear again after a certain timeout duration.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
    The property that is used to store a reference to the content node.
    final javafx.beans.property.ObjectProperty<InfoCenterViewPos>
    The position of the InfoCenterView within this pane.
    final javafx.beans.property.BooleanProperty
    A flag that can be used to pin the info center view so that it will not hide under any circumstances.
    final javafx.beans.property.BooleanProperty
    The flag that controls whether the info center shall be shown or not.
    final javafx.beans.property.ObjectProperty<javafx.util.Duration>
    The duration used for the "slide in" / "slide out" animation when the info center view gets shown or hidden.

    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 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
    Constructs a new pane with no content.
    InfoCenterPane(javafx.scene.Node content)
    Constructs a new pane with the given content node.
  • Method Summary

    Modifier and Type
    Method
    Description
    final javafx.beans.property.ObjectProperty<javafx.util.Duration>
    A duration after which the pane will automatically hide the info center (if it isn't currently pinned and the mouse cursor is not on top of the info center).
    final javafx.beans.property.BooleanProperty
    A flag that determines if the info center view should automatically disappear again after a certain timeout duration.
    protected double
    computeMaxHeight(double width)
     
    protected double
    computeMaxWidth(double height)
     
    protected double
    computeMinHeight(double width)
     
    protected double
    computeMinWidth(double height)
     
    protected double
    computePrefHeight(double width)
     
    protected double
    computePrefWidth(double height)
     
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
    The property that is used to store a reference to the content node.
    final javafx.util.Duration
    Gets the value of the autoHideDuration property.
    final javafx.scene.Node
    Gets the value of the content property.
     
    Gets the value of the infoCenterViewPos property.
    final javafx.util.Duration
    Gets the value of the slideInDuration property.
    final javafx.beans.property.ObjectProperty<InfoCenterViewPos>
    The position of the InfoCenterView within this pane.
    final boolean
    Gets the value of the autoHide property.
    final boolean
    Gets the value of the pinned property.
    final boolean
    Gets the value of the showInfoCenter property.
    protected void
     
    final javafx.beans.property.BooleanProperty
    A flag that can be used to pin the info center view so that it will not hide under any circumstances.
    final void
    setAutoHide(boolean autoHide)
    Sets the value of the autoHide property.
    final void
    setAutoHideDuration(javafx.util.Duration autoHideDuration)
    Sets the value of the autoHideDuration property.
    final void
    setContent(javafx.scene.Node content)
    Sets the value of the content property.
    final void
    Sets the value of the infoCenterViewPos property.
    final void
    setPinned(boolean pinned)
    Sets the value of the pinned property.
    final void
    setShowInfoCenter(boolean showInfoCenter)
    Sets the value of the showInfoCenter property.
    final void
    setSlideInDuration(javafx.util.Duration duration)
    Sets the value of the slideInDuration property.
    final javafx.beans.property.BooleanProperty
    The flag that controls whether the info center shall be shown or not.
    final javafx.beans.property.ObjectProperty<javafx.util.Duration>
    The duration used for the "slide in" / "slide out" animation when the info center view gets shown or hidden.

    Methods inherited from class javafx.scene.layout.StackPane

    alignmentProperty, clearConstraints, getAlignment, getAlignment, getClassCssMetaData, getContentBias, getCssMetaData, 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, 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, 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

  • Constructor Details

    • InfoCenterPane

      public InfoCenterPane()
      Constructs a new pane with no content.
    • InfoCenterPane

      public InfoCenterPane(javafx.scene.Node content)
      Constructs a new pane with the given content node.
  • Method Details

    • getAutoHideDuration

      public final javafx.util.Duration getAutoHideDuration()
      Gets the value of the autoHideDuration property.
      Property description:
      A duration after which the pane will automatically hide the info center (if it isn't currently pinned and the mouse cursor is not on top of the info center).
      Returns:
      the value of the autoHideDuration property
      See Also:
    • autoHideDurationProperty

      public final javafx.beans.property.ObjectProperty<javafx.util.Duration> autoHideDurationProperty()
      A duration after which the pane will automatically hide the info center (if it isn't currently pinned and the mouse cursor is not on top of the info center).
      Returns:
      the auto-hide duration
      See Also:
    • setAutoHideDuration

      public final void setAutoHideDuration(javafx.util.Duration autoHideDuration)
      Sets the value of the autoHideDuration property.
      Property description:
      A duration after which the pane will automatically hide the info center (if it isn't currently pinned and the mouse cursor is not on top of the info center).
      Parameters:
      autoHideDuration - the value for the autoHideDuration property
      See Also:
    • isPinned

      public final boolean isPinned()
      Gets the value of the pinned property.
      Property description:
      A flag that can be used to pin the info center view so that it will not hide under any circumstances.
      Returns:
      the value of the pinned property
      See Also:
    • pinnedProperty

      public final javafx.beans.property.BooleanProperty pinnedProperty()
      A flag that can be used to pin the info center view so that it will not hide under any circumstances.
      Returns:
      true if the info center view is pinned
      See Also:
    • setPinned

      public final void setPinned(boolean pinned)
      Sets the value of the pinned property.
      Property description:
      A flag that can be used to pin the info center view so that it will not hide under any circumstances.
      Parameters:
      pinned - the value for the pinned property
      See Also:
    • isAutoHide

      public final boolean isAutoHide()
      Gets the value of the autoHide property.
      Property description:
      A flag that determines if the info center view should automatically disappear again after a certain timeout duration.
      Returns:
      the value of the autoHide property
      See Also:
    • autoHideProperty

      public final javafx.beans.property.BooleanProperty autoHideProperty()
      A flag that determines if the info center view should automatically disappear again after a certain timeout duration.
      Returns:
      true if the info center hides automatically after a certain period of time
      See Also:
    • setAutoHide

      public final void setAutoHide(boolean autoHide)
      Sets the value of the autoHide property.
      Property description:
      A flag that determines if the info center view should automatically disappear again after a certain timeout duration.
      Parameters:
      autoHide - the value for the autoHide property
      See Also:
    • getInfoCenterView

      public final InfoCenterView getInfoCenterView()
    • contentProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> contentProperty()
      The property that is used to store a reference to the content node. The content node will fill the entire width and height of the pane.
      Returns:
      the content node property
      See Also:
    • getContent

      public final javafx.scene.Node getContent()
      Gets the value of the content property.
      Property description:
      The property that is used to store a reference to the content node. The content node will fill the entire width and height of the pane.
      Returns:
      the value of the content property
      See Also:
    • setContent

      public final void setContent(javafx.scene.Node content)
      Sets the value of the content property.
      Property description:
      The property that is used to store a reference to the content node. The content node will fill the entire width and height of the pane.
      Parameters:
      content - the value for the content property
      See Also:
    • slideInDurationProperty

      public final javafx.beans.property.ObjectProperty<javafx.util.Duration> slideInDurationProperty()
      The duration used for the "slide in" / "slide out" animation when the info center view gets shown or hidden.
      Returns:
      animation duration for the sliding in and out of the info center view
      See Also:
    • getSlideInDuration

      public final javafx.util.Duration getSlideInDuration()
      Gets the value of the slideInDuration property.
      Property description:
      The duration used for the "slide in" / "slide out" animation when the info center view gets shown or hidden.
      Returns:
      the value of the slideInDuration property
      See Also:
    • setSlideInDuration

      public final void setSlideInDuration(javafx.util.Duration duration)
      Sets the value of the slideInDuration property.
      Property description:
      The duration used for the "slide in" / "slide out" animation when the info center view gets shown or hidden.
      Parameters:
      duration - the value for the slideInDuration property
      See Also:
    • getInfoCenterViewPos

      public final InfoCenterViewPos getInfoCenterViewPos()
      Gets the value of the infoCenterViewPos property.
      Property description:
      The position of the InfoCenterView within this pane. The horizontal component determines which side the info center slides in from (left or right), and the vertical component determines whether it is placed at the top, center, or bottom. The default value is InfoCenterViewPos.TOP_RIGHT.
      Returns:
      the value of the infoCenterViewPos property
      See Also:
    • infoCenterViewPosProperty

      public final javafx.beans.property.ObjectProperty<InfoCenterViewPos> infoCenterViewPosProperty()
      The position of the InfoCenterView within this pane. The horizontal component determines which side the info center slides in from (left or right), and the vertical component determines whether it is placed at the top, center, or bottom. The default value is InfoCenterViewPos.TOP_RIGHT.
      Returns:
      the position of the info center view
      See Also:
    • setInfoCenterViewPos

      public final void setInfoCenterViewPos(InfoCenterViewPos infoCenterViewPos)
      Sets the value of the infoCenterViewPos property.
      Property description:
      The position of the InfoCenterView within this pane. The horizontal component determines which side the info center slides in from (left or right), and the vertical component determines whether it is placed at the top, center, or bottom. The default value is InfoCenterViewPos.TOP_RIGHT.
      Parameters:
      infoCenterViewPos - the value for the infoCenterViewPos property
      See Also:
    • isShowInfoCenter

      public final boolean isShowInfoCenter()
      Gets the value of the showInfoCenter property.
      Property description:
      The flag that controls whether the info center shall be shown or not.
      Returns:
      the value of the showInfoCenter property
      See Also:
    • showInfoCenterProperty

      public final javafx.beans.property.BooleanProperty showInfoCenterProperty()
      The flag that controls whether the info center shall be shown or not.
      Returns:
      true if the info center shall be shown
      See Also:
    • setShowInfoCenter

      public final void setShowInfoCenter(boolean showInfoCenter)
      Sets the value of the showInfoCenter property.
      Property description:
      The flag that controls whether the info center shall be shown or not.
      Parameters:
      showInfoCenter - the value for the showInfoCenter property
      See Also:
    • computeMinWidth

      protected double computeMinWidth(double height)
      Overrides:
      computeMinWidth in class javafx.scene.layout.StackPane
    • computePrefWidth

      protected double computePrefWidth(double height)
      Overrides:
      computePrefWidth in class javafx.scene.layout.StackPane
    • computeMaxWidth

      protected double computeMaxWidth(double height)
      Overrides:
      computeMaxWidth in class javafx.scene.layout.Region
    • computeMinHeight

      protected double computeMinHeight(double width)
      Overrides:
      computeMinHeight in class javafx.scene.layout.StackPane
    • computePrefHeight

      protected double computePrefHeight(double width)
      Overrides:
      computePrefHeight in class javafx.scene.layout.StackPane
    • computeMaxHeight

      protected double computeMaxHeight(double width)
      Overrides:
      computeMaxHeight in class javafx.scene.layout.Region
    • layoutChildren

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