Class NotificationView<T,S extends Notification<T>>

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.NotificationView<T,S>
Type Parameters:
T - the type of the business object
S - the type of the notification
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget

public class NotificationView<T,S extends Notification<T>> extends javafx.scene.layout.StackPane
A view used for visualizing a notification
  • Property Summary

    Properties
    Type
    Property
    Description
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
    An (optional) detailed UI that can be revealed interactively by the user.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
    An (optional) node that will be used as the notification's graphic object / icon on the left-hand side.
    final javafx.beans.property.BooleanProperty
     
    final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<ZonedDateTime>>
    A converter that is used to convert the date and time of the notification into a human-readable text.

    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
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    class 
     
  • 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
    NotificationView(S notification)
    Constructs a new view for the given notification.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected double
    computePrefHeight(double width)
     
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
    An (optional) detailed UI that can be revealed interactively by the user.
    final javafx.scene.Node
    Gets the value of the property content.
    final javafx.scene.Node
    Gets the value of the property graphic.
    final S
    The notification for which the view was created.
    final javafx.util.StringConverter<ZonedDateTime>
    Gets the value of the property timeConverter.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
    An (optional) node that will be used as the notification's graphic object / icon on the left-hand side.
    final boolean
    Gets the value of the property showContent.
    protected void
     
    final void
    setContent(javafx.scene.Node content)
    Sets the value of the property content.
    final void
    setGraphic(javafx.scene.Node graphic)
    Sets the value of the property graphic.
    final void
    setShowContent(boolean showContent)
    Sets the value of the property showContent.
    final void
    setTimeConverter(javafx.util.StringConverter<ZonedDateTime> timeConverter)
    Sets the value of the property timeConverter.
    final javafx.beans.property.BooleanProperty
     
    final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<ZonedDateTime>>
    A converter that is used to convert the date and time of the notification into a human-readable text.
    void
    Updates the date and time label with a human-readable text that is relative to the current time, e.g.

    Methods inherited from class javafx.scene.layout.StackPane

    alignmentProperty, clearConstraints, computeMinHeight, computeMinWidth, computePrefWidth, 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, 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, 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, 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

    • graphic

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> graphicProperty
      An (optional) node that will be used as the notification's graphic object / icon on the left-hand side.
      See Also:
    • content

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> contentProperty
      An (optional) detailed UI that can be revealed interactively by the user. Example: a map view that shows the location of a meeting scheduled in a calendar.
      See Also:
    • showContent

      public final javafx.beans.property.BooleanProperty showContentProperty
      See Also:
    • timeConverter

      public final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<ZonedDateTime>> timeConverterProperty
      A converter that is used to convert the date and time of the notification into a human-readable text. The default converter creates a text like "now", "yesterday", "2 days ago", etc...
      See Also:
  • Constructor Details

    • NotificationView

      public NotificationView(S notification)
      Constructs a new view for the given notification.
      Parameters:
      notification - the notification
  • Method Details

    • computePrefHeight

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

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

      public final S getNotification()
      The notification for which the view was created.
      Returns:
      the notification
    • getGraphic

      public final javafx.scene.Node getGraphic()
      Gets the value of the property graphic.
      Property description:
      An (optional) node that will be used as the notification's graphic object / icon on the left-hand side.
    • graphicProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> graphicProperty()
      An (optional) node that will be used as the notification's graphic object / icon on the left-hand side.
      See Also:
    • setGraphic

      public final void setGraphic(javafx.scene.Node graphic)
      Sets the value of the property graphic.
      Property description:
      An (optional) node that will be used as the notification's graphic object / icon on the left-hand side.
    • getContent

      public final javafx.scene.Node getContent()
      Gets the value of the property content.
      Property description:
      An (optional) detailed UI that can be revealed interactively by the user. Example: a map view that shows the location of a meeting scheduled in a calendar.
    • contentProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> contentProperty()
      An (optional) detailed UI that can be revealed interactively by the user. Example: a map view that shows the location of a meeting scheduled in a calendar.
      See Also:
    • setContent

      public final void setContent(javafx.scene.Node content)
      Sets the value of the property content.
      Property description:
      An (optional) detailed UI that can be revealed interactively by the user. Example: a map view that shows the location of a meeting scheduled in a calendar.
    • isShowContent

      public final boolean isShowContent()
      Gets the value of the property showContent.
      Property description:
    • showContentProperty

      public final javafx.beans.property.BooleanProperty showContentProperty()
      See Also:
    • setShowContent

      public final void setShowContent(boolean showContent)
      Sets the value of the property showContent.
      Property description:
    • getTimeConverter

      public final javafx.util.StringConverter<ZonedDateTime> getTimeConverter()
      Gets the value of the property timeConverter.
      Property description:
      A converter that is used to convert the date and time of the notification into a human-readable text. The default converter creates a text like "now", "yesterday", "2 days ago", etc...
    • timeConverterProperty

      public final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<ZonedDateTime>> timeConverterProperty()
      A converter that is used to convert the date and time of the notification into a human-readable text. The default converter creates a text like "now", "yesterday", "2 days ago", etc...
      See Also:
    • setTimeConverter

      public final void setTimeConverter(javafx.util.StringConverter<ZonedDateTime> timeConverter)
      Sets the value of the property timeConverter.
      Property description:
      A converter that is used to convert the date and time of the notification into a human-readable text. The default converter creates a text like "now", "yesterday", "2 days ago", etc...
    • updateDateAndTimeLabel

      public void updateDateAndTimeLabel()
      Updates the date and time label with a human-readable text that is relative to the current time, e.g. "now", "yesterday".