Class TextView

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

public class TextView extends javafx.scene.control.Control
A text view that allows you to display multiline text and supports the selection of text, which can then be copied to the clipboard. The user can copy the selected text via the OS-specific shortcut for copying content (for example, CTRL-C on Windows or Command-C on Mac). Additionally, a context menu is available for copying.

The user can select text by pressing and dragging the mouse, or by double clicking on a word. A triple click selects an entire paragraph.

  • Property Summary

    Properties
    Type
    Property
    Description
    final javafx.beans.property.BooleanProperty
    The text view allows the user to select text elements by double or tripple clicking on it.
    final javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint>
    The property for the Paint used for the background of the selection highlight.
    final javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint>
    The property for the Paint used for the stroke (outline) of the selection highlight.
    final javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint>
    The property for the Paint used for the foreground (the text itself) of selected text.
    final javafx.beans.property.ReadOnlyStringProperty
     
    final javafx.beans.property.StringProperty
    Stores the text displayed by the view.

    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
    Constructs a new text view.
    Constructs a new text view.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Copy the entire text to the clipboard.
    void
    Copy the text to the clipboard.
    protected javafx.scene.control.Skin<?>
     
    final javafx.beans.property.BooleanProperty
    The text view allows the user to select text elements by double or tripple clicking on it.
    static List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>>
     
    javafx.geometry.Orientation
     
    protected List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>>
     
    final javafx.scene.paint.Paint
    Gets the value of the highlightFill property.
    final javafx.scene.paint.Paint
    Gets the value of the highlightStroke property.
    final javafx.scene.paint.Paint
    Gets the value of the highlightTextFill property.
    final String
    String property used to save selected skin text
    final String
    Gets the value of the text property.
     
    final javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint>
    The property for the Paint used for the background of the selection highlight.
    final javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint>
    The property for the Paint used for the stroke (outline) of the selection highlight.
    final javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint>
    The property for the Paint used for the foreground (the text itself) of selected text.
    final boolean
    Gets the value of the disableTextSelectionByMouseClicks property.
    final javafx.beans.property.ReadOnlyStringProperty
     
    final void
    setDisableTextSelectionByMouseClicks(boolean disableTextSelectionByMouseClicks)
    Sets the value of the disableTextSelectionByMouseClicks property.
    final void
    setHighlightFill(javafx.scene.paint.Paint value)
    The fill Paint used for the background of selected text.
    final void
    setHighlightStroke(javafx.scene.paint.Paint value)
    Sets the Paint to be used for the stroke (outline) of the selection highlight.
    final void
    setHighlightTextFill(javafx.scene.paint.Paint value)
    The fill Paint used for the foreground of selected text.
    final void
    Sets the value of the text property.
    final javafx.beans.property.StringProperty
    Stores the text displayed by the view.

    Methods inherited from class javafx.scene.control.Control

    computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, 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, 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

    • disableTextSelectionByMouseClicks

      public final javafx.beans.property.BooleanProperty disableTextSelectionByMouseClicksProperty
      The text view allows the user to select text elements by double or tripple clicking on it. This property can be used to disable this behavior.
      See Also:
    • text

      public final javafx.beans.property.StringProperty textProperty
      Stores the text displayed by the view.
      See Also:
    • selectedText

      public final javafx.beans.property.ReadOnlyStringProperty selectedTextProperty
      See Also:
    • highlightFill

      public final javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint> highlightFillProperty
      The property for the Paint used for the background of the selection highlight. This is the color or gradient that fills the area behind the selected text.

      Can be set via CSS using the -fx-highlight-fill property. Valid values are: any CSS paint value (color, gradient). The default value is blue.

      See Also:
    • highlightStroke

      public final javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint> highlightStrokeProperty
      The property for the Paint used for the stroke (outline) of the selection highlight. This is the color or gradient for the border around the selected text area.

      Can be set via CSS using the -fx-highlight-stroke property. Valid values are: any CSS paint value (color, gradient). The default value is transparent.

      See Also:
    • highlightTextFill

      public final javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint> highlightTextFillProperty
      The property for the Paint used for the foreground (the text itself) of selected text. This is the color of the text characters when they are part of a selection.

      Can be set via CSS using the -fx-highlight-text-fill property. Valid values are: any CSS paint value (color, gradient). The default value is white.

      See Also:
  • Constructor Details

    • TextView

      public TextView()
      Constructs a new text view.
    • TextView

      public TextView(String text)
      Constructs a new text view.
      Parameters:
      text - The initial text
  • Method Details

    • getContentBias

      public javafx.geometry.Orientation getContentBias()
      Overrides:
      getContentBias in class javafx.scene.Node
    • createDefaultSkin

      protected javafx.scene.control.Skin<?> createDefaultSkin()
      Overrides:
      createDefaultSkin in class javafx.scene.control.Control
    • getUserAgentStylesheet

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

      public final boolean isDisableTextSelectionByMouseClicks()
      Gets the value of the disableTextSelectionByMouseClicks property.
      Property description:
      The text view allows the user to select text elements by double or tripple clicking on it. This property can be used to disable this behavior.
      Returns:
      the value of the disableTextSelectionByMouseClicks property
      See Also:
    • disableTextSelectionByMouseClicksProperty

      public final javafx.beans.property.BooleanProperty disableTextSelectionByMouseClicksProperty()
      The text view allows the user to select text elements by double or tripple clicking on it. This property can be used to disable this behavior.
      Returns:
      the "disable selection by mouse clicks" property
      See Also:
    • setDisableTextSelectionByMouseClicks

      public final void setDisableTextSelectionByMouseClicks(boolean disableTextSelectionByMouseClicks)
      Sets the value of the disableTextSelectionByMouseClicks property.
      Property description:
      The text view allows the user to select text elements by double or tripple clicking on it. This property can be used to disable this behavior.
      Parameters:
      disableTextSelectionByMouseClicks - the value for the disableTextSelectionByMouseClicks property
      See Also:
    • copySelection

      public void copySelection()
      Copy the text to the clipboard. This method is intentionally non-final so that applications can implement their own logic.
    • copyAll

      public void copyAll()
      Copy the entire text to the clipboard. This method is intentionally non-final so that applications can implement their own logic.
    • textProperty

      public final javafx.beans.property.StringProperty textProperty()
      Stores the text displayed by the view.
      Returns:
      the text shown by the control
      See Also:
    • getText

      public final String getText()
      Gets the value of the text property.
      Property description:
      Stores the text displayed by the view.
      Returns:
      the value of the text property
      See Also:
    • setText

      public final void setText(String text)
      Sets the value of the text property.
      Property description:
      Stores the text displayed by the view.
      Parameters:
      text - the value for the text property
      See Also:
    • getSelectedText

      public final String getSelectedText()
      String property used to save selected skin text
      Returns:
      The String property.
    • selectedTextProperty

      public final javafx.beans.property.ReadOnlyStringProperty selectedTextProperty()
      Returns:
      the selectedText property
      See Also:
    • setHighlightFill

      public final void setHighlightFill(javafx.scene.paint.Paint value)
      The fill Paint used for the background of selected text.
      Parameters:
      value - the highlight fill
    • getHighlightFill

      public final javafx.scene.paint.Paint getHighlightFill()
      Gets the value of the highlightFill property.
      Property description:
      Defines the Paint used for the background of the selection highlight. This is the color or gradient that fills the area behind the selected text.
      Returns:
      the value of the highlightFill property
      See Also:
    • highlightFillProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint> highlightFillProperty()
      The property for the Paint used for the background of the selection highlight. This is the color or gradient that fills the area behind the selected text.

      Can be set via CSS using the -fx-highlight-fill property. Valid values are: any CSS paint value (color, gradient). The default value is blue.

      Returns:
      the highlight fill property.
    • setHighlightStroke

      public final void setHighlightStroke(javafx.scene.paint.Paint value)
      Sets the Paint to be used for the stroke (outline) of the selection highlight.
      Parameters:
      value - the paint to use for the selection highlight's stroke.
    • getHighlightStroke

      public final javafx.scene.paint.Paint getHighlightStroke()
      Gets the value of the highlightStroke property.
      Property description:
      Defines the Paint used for the stroke (outline) of the selection highlight. This is the color or gradient for the border around the selected text area.
      Returns:
      the value of the highlightStroke property
      See Also:
    • highlightStrokeProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint> highlightStrokeProperty()
      The property for the Paint used for the stroke (outline) of the selection highlight. This is the color or gradient for the border around the selected text area.

      Can be set via CSS using the -fx-highlight-stroke property. Valid values are: any CSS paint value (color, gradient). The default value is transparent.

      Returns:
      the highlight stroke property.
    • setHighlightTextFill

      public final void setHighlightTextFill(javafx.scene.paint.Paint value)
      The fill Paint used for the foreground of selected text.
      Parameters:
      value - the highlight text fill
    • getHighlightTextFill

      public final javafx.scene.paint.Paint getHighlightTextFill()
      Gets the value of the highlightTextFill property.
      Property description:
      Defines the Paint used for the foreground (the text itself) of selected text. This is the color of the text characters when they are part of a selection.
      Returns:
      the value of the highlightTextFill property
      See Also:
    • highlightTextFillProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint> highlightTextFillProperty()
      The property for the Paint used for the foreground (the text itself) of selected text. This is the color of the text characters when they are part of a selection.

      Can be set via CSS using the -fx-highlight-text-fill property. Valid values are: any CSS paint value (color, gradient). The default value is white.

      Returns:
      the highlight text fill property.
    • getControlCssMetaData

      protected List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> getControlCssMetaData()
      Overrides:
      getControlCssMetaData in class javafx.scene.control.Control
    • getClassCssMetaData

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