Class EnhancedLabel

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
javafx.scene.control.Labeled
javafx.scene.control.Label
com.dlsc.gemsfx.EnhancedLabel
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable

public class EnhancedLabel extends javafx.scene.control.Label
An enhanced label that allows for selecting the (whole) label and copying to the clipboard either via keyboard shortcut or via context menu.
  • Property Summary

    Properties
    Type
    Property
    Description
    final javafx.beans.property.ObjectProperty<Supplier<String>>
    Stores the supplier used for filling the clipboard when the user copies the label.
    final javafx.beans.property.StringProperty
    The text used for the "copy" menu item.
    final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.event.ActionEvent>>
    The action that is executed when the user copies the label text.
    final javafx.beans.property.BooleanProperty
    Determines whether the label is currently selected or not.

    Properties inherited from class javafx.scene.control.Label

    labelFor

    Properties inherited from class javafx.scene.control.Labeled

    alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, underline, wrapText

    Properties inherited from class javafx.scene.control.Control

    contextMenu, skin, tooltip

    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
     
     
    EnhancedLabel(String text, javafx.scene.Node node)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final javafx.beans.property.ObjectProperty<Supplier<String>>
    Stores the supplier used for filling the clipboard when the user copies the label.
    final javafx.beans.property.StringProperty
    The text used for the "copy" menu item.
    Gets the value of the property copyContentSupplier.
    final String
    Gets the value of the property copyMenuItemText.
    final javafx.event.EventHandler<javafx.event.ActionEvent>
    Gets the value of the property onCopyAction.
     
    final boolean
    Gets the value of the property selected.
    final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.event.ActionEvent>>
    The action that is executed when the user copies the label text.
    final javafx.beans.property.BooleanProperty
    Determines whether the label is currently selected or not.
    final void
    setCopyContentSupplier(Supplier<String> copyContentSupplier)
    Sets the value of the property copyContentSupplier.
    final void
    setCopyMenuItemText(String copyMenuItemText)
    Sets the value of the property copyMenuItemText.
    final void
    setOnCopyAction(javafx.event.EventHandler<javafx.event.ActionEvent> value)
    Sets the value of the property onCopyAction.
    final void
    setSelected(boolean selected)
    Sets the value of the property selected.

    Methods inherited from class javafx.scene.control.Label

    createDefaultSkin, getInitialFocusTraversable, getLabelFor, labelForProperty, setLabelFor

    Methods inherited from class javafx.scene.control.Labeled

    alignmentProperty, contentDisplayProperty, ellipsisStringProperty, fontProperty, getAlignment, getClassCssMetaData, getContentBias, getContentDisplay, getControlCssMetaData, getEllipsisString, getFont, getGraphic, getGraphicTextGap, getInitialAlignment, getLabelPadding, getLineSpacing, getText, getTextAlignment, getTextFill, getTextOverrun, graphicProperty, graphicTextGapProperty, isMnemonicParsing, isUnderline, isWrapText, labelPaddingProperty, lineSpacingProperty, mnemonicParsingProperty, setAlignment, setContentDisplay, setEllipsisString, setFont, setGraphic, setGraphicTextGap, setLineSpacing, setMnemonicParsing, setText, setTextAlignment, setTextFill, setTextOverrun, setUnderline, setWrapText, textAlignmentProperty, textFillProperty, textOverrunProperty, textProperty, toString, underlineProperty, wrapTextProperty

    Methods inherited from class javafx.scene.control.Control

    computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, queryAccessibleAttribute, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty

    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, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, 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

    getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, 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, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, 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, 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

    • onCopyAction

      public final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.event.ActionEvent>> onCopyActionProperty
      The action that is executed when the user copies the label text. The default action is to copy the text to the clipboard. This action can be overridden by setting a new event handler.
      See Also:
    • selected

      public final javafx.beans.property.BooleanProperty selectedProperty
      Determines whether the label is currently selected or not.
      See Also:
    • copyMenuItemText

      public final javafx.beans.property.StringProperty copyMenuItemTextProperty
      The text used for the "copy" menu item.
      See Also:
    • copyContentSupplier

      public final javafx.beans.property.ObjectProperty<Supplier<String>> copyContentSupplierProperty
      Stores the supplier used for filling the clipboard when the user copies the label. Sometimes applications want to copy only a part of the label, e.g. an ID shown by the label like this: "Customer account #12345678". The copy content supplier can then decide to just return the ID "12345678" instead of the whole string. The default supplier however returns the whole string.
      See Also:
  • Constructor Details

    • EnhancedLabel

      public EnhancedLabel()
    • EnhancedLabel

      public EnhancedLabel(String text)
    • EnhancedLabel

      public EnhancedLabel(String text, javafx.scene.Node node)
  • Method Details

    • getUserAgentStylesheet

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

      public final void setOnCopyAction(javafx.event.EventHandler<javafx.event.ActionEvent> value)
      Sets the value of the property onCopyAction.
      Property description:
      The action that is executed when the user copies the label text. The default action is to copy the text to the clipboard. This action can be overridden by setting a new event handler.
    • getOnCopyAction

      public final javafx.event.EventHandler<javafx.event.ActionEvent> getOnCopyAction()
      Gets the value of the property onCopyAction.
      Property description:
      The action that is executed when the user copies the label text. The default action is to copy the text to the clipboard. This action can be overridden by setting a new event handler.
    • onCopyActionProperty

      public final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.event.ActionEvent>> onCopyActionProperty()
      The action that is executed when the user copies the label text. The default action is to copy the text to the clipboard. This action can be overridden by setting a new event handler.
      See Also:
    • isSelected

      public final boolean isSelected()
      Gets the value of the property selected.
      Property description:
      Determines whether the label is currently selected or not.
    • selectedProperty

      public final javafx.beans.property.BooleanProperty selectedProperty()
      Determines whether the label is currently selected or not.
      See Also:
    • setSelected

      public final void setSelected(boolean selected)
      Sets the value of the property selected.
      Property description:
      Determines whether the label is currently selected or not.
    • getCopyMenuItemText

      public final String getCopyMenuItemText()
      Gets the value of the property copyMenuItemText.
      Property description:
      The text used for the "copy" menu item.
    • copyMenuItemTextProperty

      public final javafx.beans.property.StringProperty copyMenuItemTextProperty()
      The text used for the "copy" menu item.
      See Also:
    • setCopyMenuItemText

      public final void setCopyMenuItemText(String copyMenuItemText)
      Sets the value of the property copyMenuItemText.
      Property description:
      The text used for the "copy" menu item.
    • getCopyContentSupplier

      public final Supplier<String> getCopyContentSupplier()
      Gets the value of the property copyContentSupplier.
      Property description:
      Stores the supplier used for filling the clipboard when the user copies the label. Sometimes applications want to copy only a part of the label, e.g. an ID shown by the label like this: "Customer account #12345678". The copy content supplier can then decide to just return the ID "12345678" instead of the whole string. The default supplier however returns the whole string.
    • copyContentSupplierProperty

      public final javafx.beans.property.ObjectProperty<Supplier<String>> copyContentSupplierProperty()
      Stores the supplier used for filling the clipboard when the user copies the label. Sometimes applications want to copy only a part of the label, e.g. an ID shown by the label like this: "Customer account #12345678". The copy content supplier can then decide to just return the ID "12345678" instead of the whole string. The default supplier however returns the whole string.
      See Also:
    • setCopyContentSupplier

      public final void setCopyContentSupplier(Supplier<String> copyContentSupplier)
      Sets the value of the property copyContentSupplier.
      Property description:
      Stores the supplier used for filling the clipboard when the user copies the label. Sometimes applications want to copy only a part of the label, e.g. an ID shown by the label like this: "Customer account #12345678". The copy content supplier can then decide to just return the ID "12345678" instead of the whole string. The default supplier however returns the whole string.