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 objectS- the type of the notification
- All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget
A view used for visualizing a notification
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassThe pane used to render the notification content and actions. -
Property Summary
PropertiesTypePropertyDescriptionfinal 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.BooleanPropertyDetermines whether the detailed content node is currently shown.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
alignmentProperties 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
Fields 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
ConstructorsConstructorDescriptionNotificationView(S notification) Constructs a new view for the given notification. -
Method Summary
Modifier and TypeMethodDescriptionprotected doublecomputeMaxHeight(double width) Computes the maximum height of the notification view.protected doublecomputeMinHeight(double width) Computes the minimum height of the notification view.protected doublecomputePrefHeight(double width) Computes the preferred height of the notification view.final javafx.beans.property.ObjectProperty<javafx.scene.Node> An (optional) detailed UI that can be revealed interactively by the user.final javafx.scene.NodeGets the value of thecontentproperty.final javafx.scene.NodeGets the value of thegraphicproperty.final SThe notification for which the view was created.final javafx.util.StringConverter<ZonedDateTime> Gets the value of thetimeConverterproperty.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 booleanGets the value of theshowContentproperty.protected voidLays out the content pane and the optional stacked notifications.final voidsetContent(javafx.scene.Node content) Sets the value of thecontentproperty.final voidsetGraphic(javafx.scene.Node graphic) Sets the value of thegraphicproperty.final voidsetShowContent(boolean showContent) Sets the value of theshowContentproperty.final voidsetTimeConverter(javafx.util.StringConverter<ZonedDateTime> timeConverter) Sets the value of thetimeConverterproperty.final javafx.beans.property.BooleanPropertyDetermines whether the detailed content node is currently shown.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.voidUpdates 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, computeMinWidth, computePrefWidth, getAlignment, getAlignment, getClassCssMetaData, getContentBias, getCssMetaData, getMargin, requestLayout, setAlignment, setAlignment, setMarginMethods inherited from class javafx.scene.layout.Pane
getChildrenMethods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, 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 Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface javafx.css.Styleable
getStyleableNode
-
Property Details
-
graphic
public final javafx.beans.property.ObjectProperty<javafx.scene.Node> graphicPropertyAn (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> contentPropertyAn (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 showContentPropertyDetermines whether the detailed content node is currently shown.- See Also:
-
timeConverter
public final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<ZonedDateTime>> timeConverterPropertyA 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
Constructs a new view for the given notification.- Parameters:
notification- the notification
-
-
Method Details
-
computePrefHeight
protected double computePrefHeight(double width) Computes the preferred height of the notification view.- Overrides:
computePrefHeightin classjavafx.scene.layout.StackPane- Parameters:
width- the width used for the computation- Returns:
- the preferred height
-
computeMinHeight
protected double computeMinHeight(double width) Computes the minimum height of the notification view.- Overrides:
computeMinHeightin classjavafx.scene.layout.StackPane- Parameters:
width- the width used for the computation- Returns:
- the minimum height
-
computeMaxHeight
protected double computeMaxHeight(double width) Computes the maximum height of the notification view.- Overrides:
computeMaxHeightin classjavafx.scene.layout.Region- Parameters:
width- the width used for the computation- Returns:
- the maximum height
-
layoutChildren
protected void layoutChildren()Lays out the content pane and the optional stacked notifications.- Overrides:
layoutChildrenin classjavafx.scene.layout.StackPane
-
getNotification
The notification for which the view was created.- Returns:
- the notification
-
getGraphic
public final javafx.scene.Node getGraphic()Gets the value of thegraphicproperty.- Property description:
- An (optional) node that will be used as the notification's graphic object / icon on the left-hand side.
- Returns:
- the value of the
graphicproperty - See Also:
-
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.- Returns:
- the graphic / the icon
- See Also:
-
setGraphic
public final void setGraphic(javafx.scene.Node graphic) Sets the value of thegraphicproperty.- Property description:
- An (optional) node that will be used as the notification's graphic object / icon on the left-hand side.
- Parameters:
graphic- the value for thegraphicproperty- See Also:
-
getContent
public final javafx.scene.Node getContent()Gets the value of thecontentproperty.- 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.
- Returns:
- the value of the
contentproperty - See Also:
-
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.- Returns:
- the optional graphic
- See Also:
-
setContent
public final void setContent(javafx.scene.Node content) Sets the value of thecontentproperty.- 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.
- Parameters:
content- the value for thecontentproperty- See Also:
-
isShowContent
public final boolean isShowContent()Gets the value of theshowContentproperty.- Property description:
- Determines whether the detailed content node is currently shown.
- Returns:
- the value of the
showContentproperty - See Also:
-
showContentProperty
public final javafx.beans.property.BooleanProperty showContentProperty()Determines whether the detailed content node is currently shown.- Returns:
- the showContent property
- See Also:
-
setShowContent
public final void setShowContent(boolean showContent) Sets the value of theshowContentproperty.- Property description:
- Determines whether the detailed content node is currently shown.
- Parameters:
showContent- the value for theshowContentproperty- See Also:
-
getTimeConverter
Gets the value of thetimeConverterproperty.- 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...
- Returns:
- the value of the
timeConverterproperty - See Also:
-
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...- Returns:
- the time converter
- See Also:
-
setTimeConverter
Sets the value of thetimeConverterproperty.- 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...
- Parameters:
timeConverter- the value for thetimeConverterproperty- See Also:
-
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".
-