Class LimitedTextArea

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

public class LimitedTextArea extends ResizableTextArea
A specialized text area view that imposes restrictions on the input text length, allowing specification of minimum and maximum character limits. It provides the functionality to define a range of allowed text lengths and supports the removal of specified strings by replacing them with an empty string. This component is designed for scenarios where input text needs to adhere to specific length requirements and certain substrings are not permitted.

If the text length range is not specified, the value of the text length indicator label will reflect the number of characters in the text area. If a range is specified, the label will show the difference between the current text length and the maximum allowed character count. Should the text exceed the allowed maximum, the label will display a negative number.

Use cases include form fields where input character count is restricted within a certain range for validation purposes, or text areas that need to filter out specific unwanted characters or phrases.

  • Property Summary

    Properties
    Type
    Property
    Description
    final javafx.beans.property.ObjectProperty<IntegerRange>
    The character range limit property defines the minimum and maximum number of characters allowed in the text area.
    final javafx.beans.property.ObjectProperty<LimitedTextArea.LengthDisplayMode>
    The length display mode property defines when the text length indicator label should be displayed.
    final javafx.beans.property.ReadOnlyBooleanProperty
    A read-only property indicating whether the text content is over the maximum length or under the minimum length.
    final javafx.beans.property.BooleanProperty
     
    final javafx.beans.property.StringProperty
    The tips property used to display a hint or description of the text area.
    final javafx.beans.property.DoubleProperty
    The warning threshold is a value between 0 and 1.

    Properties inherited from class com.dlsc.gemsfx.ResizableTextArea

    resizeHorizontal, resizeVertical

    Properties inherited from class javafx.scene.control.TextArea

    prefColumnCount, prefRowCount, scrollLeft, scrollTop, wrapText

    Properties inherited from class javafx.scene.control.TextInputControl

    anchor, caretPosition, editable, font, length, promptText, redoable, selectedText, selection, textFormatter, text, undoable

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

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
     

    Nested classes/interfaces inherited from class javafx.scene.control.TextInputControl

    javafx.scene.control.TextInputControl.Content
  • Field Summary

    Fields inherited from class javafx.scene.control.TextArea

    DEFAULT_PREF_COLUMN_COUNT, DEFAULT_PREF_ROW_COUNT

    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
     
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final javafx.beans.property.ObjectProperty<IntegerRange>
    The character range limit property defines the minimum and maximum number of characters allowed in the text area.
    protected javafx.scene.control.Skin<?>
     
    Gets the value of the property characterRangeLimit.
    static List<javafx.css.CssMetaData<? extends javafx.css.Styleable,?>>
     
    List<javafx.css.CssMetaData<? extends javafx.css.Styleable,?>>
     
    final javafx.collections.ObservableList<String>
     
    Gets the value of the property lengthDisplayMode.
    final String
    Gets the value of the property tips.
    final double
     
    final double
    Gets the value of the property warningThreshold.
    final boolean
    Gets the value of the property outOfRange.
    final boolean
    Gets the value of the property showBottom.
    final javafx.beans.property.ObjectProperty<LimitedTextArea.LengthDisplayMode>
    The length display mode property defines when the text length indicator label should be displayed.
    final javafx.beans.property.ReadOnlyBooleanProperty
    A read-only property indicating whether the text content is over the maximum length or under the minimum length.
    final void
    setCharacterRangeLimit(IntegerRange characterRangeLimit)
    Sets the value of the property characterRangeLimit.
    final void
    Sets the value of the property lengthDisplayMode.
    final void
    setShowBottom(boolean showBottom)
    Sets the value of the property showBottom.
    final void
    Sets the value of the property tips.
    final void
    setWarningThreshold(double warningThreshold)
    Sets the value of the property warningThreshold.
    final javafx.beans.property.BooleanProperty
     
    final javafx.beans.property.StringProperty
    The tips property used to display a hint or description of the text area.
    final javafx.beans.property.DoubleProperty
    The warning threshold is a value between 0 and 1.

    Methods inherited from class javafx.scene.control.TextArea

    getParagraphs, getPrefColumnCount, getPrefRowCount, getScrollLeft, getScrollTop, isWrapText, prefColumnCountProperty, prefRowCountProperty, scrollLeftProperty, scrollTopProperty, setPrefColumnCount, setPrefRowCount, setScrollLeft, setScrollTop, setWrapText, wrapTextProperty

    Methods inherited from class javafx.scene.control.TextInputControl

    anchorProperty, appendText, backward, cancelEdit, caretPositionProperty, clear, commitValue, copy, cut, deleteNextChar, deletePreviousChar, deleteText, deleteText, deselect, editableProperty, end, endOfNextWord, executeAccessibleAction, extendSelection, fontProperty, forward, getAnchor, getCaretPosition, getContent, getFont, getLength, getPromptText, getSelectedText, getSelection, getText, getText, getTextFormatter, home, insertText, isEditable, isRedoable, isUndoable, lengthProperty, nextWord, paste, positionCaret, previousWord, promptTextProperty, queryAccessibleAttribute, redo, redoableProperty, replaceSelection, replaceText, replaceText, selectAll, selectBackward, selectedTextProperty, selectEnd, selectEndOfNextWord, selectForward, selectHome, selectionProperty, selectNextWord, selectPositionCaret, selectPreviousWord, selectRange, setEditable, setFont, setPromptText, setText, setTextFormatter, textFormatterProperty, textProperty, undo, undoableProperty

    Methods inherited from class javafx.scene.control.Control

    computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, 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, getContentBias, 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, 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

  • Constructor Details

    • LimitedTextArea

      public LimitedTextArea()
    • LimitedTextArea

      public LimitedTextArea(String text)
  • Method Details

    • createDefaultSkin

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

      public final javafx.beans.property.BooleanProperty showBottomProperty()
      See Also:
    • isShowBottom

      public final boolean isShowBottom()
      Gets the value of the property showBottom.
      Property description:
    • setShowBottom

      public final void setShowBottom(boolean showBottom)
      Sets the value of the property showBottom.
      Property description:
    • getCharacterRangeLimit

      public final IntegerRange getCharacterRangeLimit()
      Gets the value of the property characterRangeLimit.
      Property description:
      The character range limit property defines the minimum and maximum number of characters allowed in the text area.
    • characterRangeLimitProperty

      public final javafx.beans.property.ObjectProperty<IntegerRange> characterRangeLimitProperty()
      The character range limit property defines the minimum and maximum number of characters allowed in the text area.
      See Also:
    • setCharacterRangeLimit

      public final void setCharacterRangeLimit(IntegerRange characterRangeLimit)
      Sets the value of the property characterRangeLimit.
      Property description:
      The character range limit property defines the minimum and maximum number of characters allowed in the text area.
    • getExcludedItems

      public final javafx.collections.ObservableList<String> getExcludedItems()
    • getTips

      public final String getTips()
      Gets the value of the property tips.
      Property description:
      The tips property used to display a hint or description of the text area.
    • tipsProperty

      public final javafx.beans.property.StringProperty tipsProperty()
      The tips property used to display a hint or description of the text area.
      See Also:
    • setTips

      public final void setTips(String tips)
      Sets the value of the property tips.
      Property description:
      The tips property used to display a hint or description of the text area.
    • isOutOfRange

      public final boolean isOutOfRange()
      Gets the value of the property outOfRange.
      Property description:
      A read-only property indicating whether the text content is over the maximum length or under the minimum length.
    • outOfRangeProperty

      public final javafx.beans.property.ReadOnlyBooleanProperty outOfRangeProperty()
      A read-only property indicating whether the text content is over the maximum length or under the minimum length.
      See Also:
    • getLengthDisplayMode

      public final LimitedTextArea.LengthDisplayMode getLengthDisplayMode()
      Gets the value of the property lengthDisplayMode.
      Property description:
      The length display mode property defines when the text length indicator label should be displayed. LimitedTextArea.LengthDisplayMode.AUTO, LimitedTextArea.LengthDisplayMode.ALWAYS_SHOW, LimitedTextArea.LengthDisplayMode.ALWAYS_HIDE
    • lengthDisplayModeProperty

      public final javafx.beans.property.ObjectProperty<LimitedTextArea.LengthDisplayMode> lengthDisplayModeProperty()
      The length display mode property defines when the text length indicator label should be displayed. LimitedTextArea.LengthDisplayMode.AUTO, LimitedTextArea.LengthDisplayMode.ALWAYS_SHOW, LimitedTextArea.LengthDisplayMode.ALWAYS_HIDE
      See Also:
    • setLengthDisplayMode

      public final void setLengthDisplayMode(LimitedTextArea.LengthDisplayMode lengthDisplayMode)
      Sets the value of the property lengthDisplayMode.
      Property description:
      The length display mode property defines when the text length indicator label should be displayed. LimitedTextArea.LengthDisplayMode.AUTO, LimitedTextArea.LengthDisplayMode.ALWAYS_SHOW, LimitedTextArea.LengthDisplayMode.ALWAYS_HIDE
    • getWarningThreshold

      public final double getWarningThreshold()
      Gets the value of the property warningThreshold.
      Property description:
      The warning threshold is a value between 0 and 1. When the text length is greater than or equal to the maximum length times the warning threshold, the warning style will be applied.
    • warningThresholdProperty

      public final javafx.beans.property.DoubleProperty warningThresholdProperty()
      The warning threshold is a value between 0 and 1. When the text length is greater than or equal to the maximum length times the warning threshold, the warning style will be applied.
      See Also:
    • setWarningThreshold

      public final void setWarningThreshold(double warningThreshold)
      Sets the value of the property warningThreshold.
      Property description:
      The warning threshold is a value between 0 and 1. When the text length is greater than or equal to the maximum length times the warning threshold, the warning style will be applied.
    • getValidWarningThreshold

      public final double getValidWarningThreshold()
    • getControlCssMetaData

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

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