Module javafx.controls
Package javafx.scene.control

## Class TextInputControl

- java.lang.Object
- - javafx.scene.Node
  - - javafx.scene.Parent
    - - javafx.scene.layout.Region
      - - javafx.scene.control.Control
        - - javafx.scene.control.TextInputControl

- All Implemented Interfaces:
    `Styleable`, `EventTarget`, `Skinnable`
  Direct Known Subclasses:
    `TextArea`, `TextField`

      @DefaultProperty("text")
      public abstract class TextInputControl
      extends Control

  Abstract base class for text input controls.
  Since:
    JavaFX 2.0

- - ### Property Summary

    Properties
    Type | Property | Description
    --- | --- | ---
    `ReadOnlyIntegerProperty` | `anchor` | The `anchor` of the text selection.
    `ReadOnlyIntegerProperty` | `caretPosition` | The current position of the caret within the text.
    `BooleanProperty` | `editable` | Indicates whether this TextInputControl can be edited by the user.
    `ObjectProperty<Font>` | `font` | The default font to use for text in the TextInputControl.
    `ReadOnlyIntegerProperty` | `length` | The number of characters in the text input.
    `StringProperty` | `promptText` | The prompt text to display in the `TextInputControl`.
    `ReadOnlyBooleanProperty` | `redoable` | The property describes if it's currently possible to redo the latest change of the content that was undone.
    `ReadOnlyStringProperty` | `selectedText` | Defines the characters in the TextInputControl which are selected
    `ReadOnlyObjectProperty<IndexRange>` | `selection` | The current selection.
    `ObjectProperty<TextFormatter<?>>` | `textFormatter` | The property contains currently attached `TextFormatter`.
    `StringProperty` | `text` | The textual content of this TextInputControl.
    `ReadOnlyBooleanProperty` | `undoable` | The property describes if it's currently possible to undo the latest change of the content that was done.

    - ### 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, 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
    --- | --- | ---
    `protected static interface` | `TextInputControl.Content` | Interface representing a text input's content.

  - ### 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
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `TextInputControl​(TextInputControl.Content content)` | Creates a new TextInputControl.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `ReadOnlyIntegerProperty` | `anchorProperty()` | The `anchor` of the text selection.
    `void` | `appendText​(String text)` | Appends a sequence of characters to the content.
    `void` | `backward()` | Moves the caret position backward.
    `void` | `cancelEdit()` | If the field is currently being edited, this call will set text to the last commited value.
    `ReadOnlyIntegerProperty` | `caretPositionProperty()` | The current position of the caret within the text.
    `void` | `clear()` | Clears the text.
    `void` | `commitValue()` | Commit the current text and convert it to a value.
    `void` | `copy()` | Transfers the currently selected range in the text to the clipboard, leaving the current selection.
    `void` | `cut()` | Transfers the currently selected range in the text to the clipboard, removing the current selection.
    `boolean` | `deleteNextChar()` | Deletes the character that follows the current caret position from the text if there is no selection, or deletes the selection if there is one.
    `boolean` | `deletePreviousChar()` | Deletes the character that precedes the current caret position from the text if there is no selection, or deletes the selection if there is one.
    `void` | `deleteText​(int start, int end)` | Removes a range of characters from the content.
    `void` | `deleteText​(IndexRange range)` | Removes a range of characters from the content.
    `void` | `deselect()` | Clears the selection.
    `BooleanProperty` | `editableProperty()` | Indicates whether this TextInputControl can be edited by the user.
    `void` | `end()` | Moves the caret to after the last char of the text.
    `void` | `endOfNextWord()` | Moves the caret to the end of the next word.
    `void` | `executeAccessibleAction​(AccessibleAction action, Object... parameters)` | This method is called by the assistive technology to request the action indicated by the argument should be executed.
    `void` | `extendSelection​(int pos)` | This function will extend the selection to include the specified pos.
    `ObjectProperty<Font>` | `fontProperty()` | The default font to use for text in the TextInputControl.
    `void` | `forward()` | Moves the caret position forward.
    `int` | `getAnchor()` | Gets the value of the property anchor.
    `int` | `getCaretPosition()` | Gets the value of the property caretPosition.
    `static List<CssMetaData<? extends Styleable,​?>>` | `getClassCssMetaData()` |
    `protected TextInputControl.Content` | `getContent()` | Returns the text input's content model.
    `List<CssMetaData<? extends Styleable,​?>>` | `getControlCssMetaData()`
    `Font` | `getFont()` | Gets the value of the property font.
    `int` | `getLength()` | Gets the value of the property length.
    `String` | `getPromptText()` | Gets the value of the property promptText.
    `String` | `getSelectedText()` | Gets the value of the property selectedText.
    `IndexRange` | `getSelection()` | Gets the value of the property selection.
    `String` | `getText()` | Gets the value of the property text.
    `String` | `getText​(int start, int end)` | Returns a subset of the text input's content.
    `TextFormatter<?>` | `getTextFormatter()` | Gets the value of the property textFormatter.
    `void` | `home()` | Moves the caret to before the first char of the text.
    `void` | `insertText​(int index, String text)` | Inserts a sequence of characters into the content.
    `boolean` | `isEditable()` | Gets the value of the property editable.
    `boolean` | `isRedoable()` | Gets the value of the property redoable.
    `boolean` | `isUndoable()` | Gets the value of the property undoable.
    `ReadOnlyIntegerProperty` | `lengthProperty()` | The number of characters in the text input.
    `void` | `nextWord()` | Moves the caret to the beginning of next word.
    `void` | `paste()` | Transfers the contents in the clipboard into this text, replacing the current selection.
    `void` | `positionCaret​(int pos)` | Positions the caret to the position indicated by `pos`.
    `void` | `previousWord()` | Moves the caret to the beginning of previous word.
    `StringProperty` | `promptTextProperty()` | The prompt text to display in the `TextInputControl`.
    `Object` | `queryAccessibleAttribute​(AccessibleAttribute attribute, Object... parameters)` | This method is called by the assistive technology to request the value for an attribute.
    `void` | `redo()` | If possible, redoes the last undone modification.
    `ReadOnlyBooleanProperty` | `redoableProperty()` | The property describes if it's currently possible to redo the latest change of the content that was undone.
    `void` | `replaceSelection​(String replacement)` | Replaces the selection with the given replacement String.
    `void` | `replaceText​(int start, int end, String text)` | Replaces a range of characters with the given text.
    `void` | `replaceText​(IndexRange range, String text)` | Replaces a range of characters with the given text.
    `void` | `selectAll()` | Selects all text in the text input.
    `void` | `selectBackward()` | Moves the selection backward one char in the text.
    `ReadOnlyStringProperty` | `selectedTextProperty()` | Defines the characters in the TextInputControl which are selected
    `void` | `selectEnd()` | Moves the caret to after the last char of text.
    `void` | `selectEndOfNextWord()` | Moves the caret to the end of the next word.
    `void` | `selectForward()` | Moves the selection forward one char in the text.
    `void` | `selectHome()` | Moves the caret to before the first char of text.
    `ReadOnlyObjectProperty<IndexRange>` | `selectionProperty()` | The current selection.
    `void` | `selectNextWord()` | Moves the caret to the beginning of next word.
    `void` | `selectPositionCaret​(int pos)` | Positions the caret to the position indicated by `pos` and extends the selection, if there is one.
    `void` | `selectPreviousWord()` | Moves the caret to the beginning of previous word.
    `void` | `selectRange​(int anchor, int caretPosition)` | Positions the anchor and caretPosition explicitly.
    `void` | `setEditable​(boolean value)` | Sets the value of the property editable.
    `void` | `setFont​(Font value)` | Sets the value of the property font.
    `void` | `setPromptText​(String value)` | Sets the value of the property promptText.
    `void` | `setText​(String value)` | Sets the value of the property text.
    `void` | `setTextFormatter​(TextFormatter<?> value)` | Sets the value of the property textFormatter.
    `ObjectProperty<TextFormatter<?>>` | `textFormatterProperty()` | The property contains currently attached `TextFormatter`.
    `StringProperty` | `textProperty()` | The textual content of this TextInputControl.
    `void` | `undo()` | If possible, undoes the last modification.
    `ReadOnlyBooleanProperty` | `undoableProperty()` | The property describes if it's currently possible to undo the latest change of the content that was done.

    - ### Methods inherited from class javafx.scene.control.Control

      `computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, createDefaultSkin, 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, getUserAgentStylesheet, 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, 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, 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 Detail

    - #### font

          public final ObjectProperty<Font> fontProperty

      The default font to use for text in the TextInputControl. If the TextInputControl's text is rich text then this font may or may not be used depending on the font information embedded in the rich text, but in any case where a default font is required, this font will be used.
      Since:
        JavaFX 8.0
      See Also:
        `getFont()`, `setFont(Font)`

    - #### promptText

          public final StringProperty promptTextProperty

      The prompt text to display in the `TextInputControl`. If set to null or an empty string, no prompt text is displayed.
      Default value:
        An empty String
      Since:
        JavaFX 2.2
      See Also:
        `getPromptText()`, `setPromptText(String)`

    - #### textFormatter

          public final ObjectProperty<TextFormatter<?>> textFormatterProperty

      The property contains currently attached `TextFormatter`. Since the value is part of the `Formatter`, changing the TextFormatter will update the text based on the new textFormatter.
      Default value:
        null
      Since:
        JavaFX 8u40
      See Also:
        `getTextFormatter()`, `setTextFormatter(TextFormatter)`

    - #### text

          public final StringProperty textProperty

      The textual content of this TextInputControl.
      See Also:
        `getText()`, `setText(String)`

    - #### length

          public final ReadOnlyIntegerProperty lengthProperty

      The number of characters in the text input.
      See Also:
        `getLength()`

    - #### editable

          public final BooleanProperty editableProperty

      Indicates whether this TextInputControl can be edited by the user.
      See Also:
        `isEditable()`, `setEditable(boolean)`

    - #### selection

          public final ReadOnlyObjectProperty<IndexRange> selectionProperty

      The current selection.
      See Also:
        `getSelection()`

    - #### selectedText

          public final ReadOnlyStringProperty selectedTextProperty

      Defines the characters in the TextInputControl which are selected
      See Also:
        `getSelectedText()`

    - #### anchor

          public final ReadOnlyIntegerProperty anchorProperty

      The `anchor` of the text selection. The `anchor` and `caretPosition` make up the selection range. Selection must always be specified in terms of begin <= end, but `anchor` may be less than, equal to, or greater than the `caretPosition`. Depending on how the user selects text, the anchor might represent the lower or upper bound of the selection.
      See Also:
        `getAnchor()`

    - #### caretPosition

          public final ReadOnlyIntegerProperty caretPositionProperty

      The current position of the caret within the text. The `anchor` and `caretPosition` make up the selection range. Selection must always be specified in terms of begin <= end, but `anchor` may be less than, equal to, or greater than the `caretPosition`. Depending on how the user selects text, the caretPosition might represent the lower or upper bound of the selection.
      See Also:
        `getCaretPosition()`

    - #### undoable

          public final ReadOnlyBooleanProperty undoableProperty

      The property describes if it's currently possible to undo the latest change of the content that was done.
      Default value:
        false
      Since:
        JavaFX 8u40
      See Also:
        `isUndoable()`

    - #### redoable

          public final ReadOnlyBooleanProperty redoableProperty

      The property describes if it's currently possible to redo the latest change of the content that was undone.
      Default value:
        false
      Since:
        JavaFX 8u40
      See Also:
        `isRedoable()`

  - ### Constructor Detail

    - #### TextInputControl

          protected TextInputControl​(TextInputControl.Content content)

      Creates a new TextInputControl. The content is an immutable property and must be specified (as non-null) at the time of construction.
      Parameters:
        `content` - a non-null implementation of Content.

  - ### Method Detail

    - #### fontProperty

          public final ObjectProperty<Font> fontProperty()

      The default font to use for text in the TextInputControl. If the TextInputControl's text is rich text then this font may or may not be used depending on the font information embedded in the rich text, but in any case where a default font is required, this font will be used.
      Since:
        JavaFX 8.0
      See Also:
        `getFont()`, `setFont(Font)`

    - #### setFont

          public final void setFont​(Font value)

      Sets the value of the property font.
      Property description:
        The default font to use for text in the TextInputControl. If the TextInputControl's text is rich text then this font may or may not be used depending on the font information embedded in the rich text, but in any case where a default font is required, this font will be used.
      Since:
        JavaFX 8.0

    - #### getFont

          public final Font getFont()

      Gets the value of the property font.
      Property description:
        The default font to use for text in the TextInputControl. If the TextInputControl's text is rich text then this font may or may not be used depending on the font information embedded in the rich text, but in any case where a default font is required, this font will be used.
      Since:
        JavaFX 8.0

    - #### promptTextProperty

          public final StringProperty promptTextProperty()

      The prompt text to display in the `TextInputControl`. If set to null or an empty string, no prompt text is displayed.
      Default value:
        An empty String
      Since:
        JavaFX 2.2
      See Also:
        `getPromptText()`, `setPromptText(String)`

    - #### getPromptText

          public final String getPromptText()

      Gets the value of the property promptText.
      Property description:
        The prompt text to display in the `TextInputControl`. If set to null or an empty string, no prompt text is displayed.
      Default value:
        An empty String
      Since:
        JavaFX 2.2

    - #### setPromptText

          public final void setPromptText​(String value)

      Sets the value of the property promptText.
      Property description:
        The prompt text to display in the `TextInputControl`. If set to null or an empty string, no prompt text is displayed.
      Default value:
        An empty String
      Since:
        JavaFX 2.2

    - #### textFormatterProperty

          public final ObjectProperty<TextFormatter<?>> textFormatterProperty()

      The property contains currently attached `TextFormatter`. Since the value is part of the `Formatter`, changing the TextFormatter will update the text based on the new textFormatter.
      Default value:
        null
      Since:
        JavaFX 8u40
      See Also:
        `getTextFormatter()`, `setTextFormatter(TextFormatter)`

    - #### getTextFormatter

          public final TextFormatter<?> getTextFormatter()

      Gets the value of the property textFormatter.
      Property description:
        The property contains currently attached `TextFormatter`. Since the value is part of the `Formatter`, changing the TextFormatter will update the text based on the new textFormatter.
      Default value:
        null
      Since:
        JavaFX 8u40

    - #### setTextFormatter

          public final void setTextFormatter​(TextFormatter<?> value)

      Sets the value of the property textFormatter.
      Property description:
        The property contains currently attached `TextFormatter`. Since the value is part of the `Formatter`, changing the TextFormatter will update the text based on the new textFormatter.
      Default value:
        null
      Since:
        JavaFX 8u40

    - #### getContent

          protected final TextInputControl.Content getContent()

      Returns the text input's content model.
      Returns:
        the text input's content model

    - #### getText

          public final String getText()

      Gets the value of the property text.
      Property description:
        The textual content of this TextInputControl.

    - #### setText

          public final void setText​(String value)

      Sets the value of the property text.
      Property description:
        The textual content of this TextInputControl.

    - #### textProperty

          public final StringProperty textProperty()

      The textual content of this TextInputControl.
      See Also:
        `getText()`, `setText(String)`

    - #### getLength

          public final int getLength()

      Gets the value of the property length.
      Property description:
        The number of characters in the text input.

    - #### lengthProperty

          public final ReadOnlyIntegerProperty lengthProperty()

      The number of characters in the text input.
      See Also:
        `getLength()`

    - #### isEditable

          public final boolean isEditable()

      Gets the value of the property editable.
      Property description:
        Indicates whether this TextInputControl can be edited by the user.

    - #### setEditable

          public final void setEditable​(boolean value)

      Sets the value of the property editable.
      Property description:
        Indicates whether this TextInputControl can be edited by the user.

    - #### editableProperty

          public final BooleanProperty editableProperty()

      Indicates whether this TextInputControl can be edited by the user.
      See Also:
        `isEditable()`, `setEditable(boolean)`

    - #### getSelection

          public final IndexRange getSelection()

      Gets the value of the property selection.
      Property description:
        The current selection.

    - #### selectionProperty

          public final ReadOnlyObjectProperty<IndexRange> selectionProperty()

      The current selection.
      See Also:
        `getSelection()`

    - #### getSelectedText

          public final String getSelectedText()

      Gets the value of the property selectedText.
      Property description:
        Defines the characters in the TextInputControl which are selected

    - #### selectedTextProperty

          public final ReadOnlyStringProperty selectedTextProperty()

      Defines the characters in the TextInputControl which are selected
      See Also:
        `getSelectedText()`

    - #### getAnchor

          public final int getAnchor()

      Gets the value of the property anchor.
      Property description:
        The `anchor` of the text selection. The `anchor` and `caretPosition` make up the selection range. Selection must always be specified in terms of begin <= end, but `anchor` may be less than, equal to, or greater than the `caretPosition`. Depending on how the user selects text, the anchor might represent the lower or upper bound of the selection.

    - #### anchorProperty

          public final ReadOnlyIntegerProperty anchorProperty()

      The `anchor` of the text selection. The `anchor` and `caretPosition` make up the selection range. Selection must always be specified in terms of begin <= end, but `anchor` may be less than, equal to, or greater than the `caretPosition`. Depending on how the user selects text, the anchor might represent the lower or upper bound of the selection.
      See Also:
        `getAnchor()`

    - #### getCaretPosition

          public final int getCaretPosition()

      Gets the value of the property caretPosition.
      Property description:
        The current position of the caret within the text. The `anchor` and `caretPosition` make up the selection range. Selection must always be specified in terms of begin <= end, but `anchor` may be less than, equal to, or greater than the `caretPosition`. Depending on how the user selects text, the caretPosition might represent the lower or upper bound of the selection.

    - #### caretPositionProperty

          public final ReadOnlyIntegerProperty caretPositionProperty()

      The current position of the caret within the text. The `anchor` and `caretPosition` make up the selection range. Selection must always be specified in terms of begin <= end, but `anchor` may be less than, equal to, or greater than the `caretPosition`. Depending on how the user selects text, the caretPosition might represent the lower or upper bound of the selection.
      See Also:
        `getCaretPosition()`

    - #### isUndoable

          public final boolean isUndoable()

      Gets the value of the property undoable.
      Property description:
        The property describes if it's currently possible to undo the latest change of the content that was done.
      Default value:
        false
      Since:
        JavaFX 8u40

    - #### undoableProperty

          public final ReadOnlyBooleanProperty undoableProperty()

      The property describes if it's currently possible to undo the latest change of the content that was done.
      Default value:
        false
      Since:
        JavaFX 8u40
      See Also:
        `isUndoable()`

    - #### isRedoable

          public final boolean isRedoable()

      Gets the value of the property redoable.
      Property description:
        The property describes if it's currently possible to redo the latest change of the content that was undone.
      Default value:
        false
      Since:
        JavaFX 8u40

    - #### redoableProperty

          public final ReadOnlyBooleanProperty redoableProperty()

      The property describes if it's currently possible to redo the latest change of the content that was undone.
      Default value:
        false
      Since:
        JavaFX 8u40
      See Also:
        `isRedoable()`

    - #### getText

          public String getText​(int start,
                                int end)

      Returns a subset of the text input's content.
      Parameters:
        `start` - must be a value between 0 and end - 1.
        `end` - must be less than or equal to the length
      Returns:
        the subset of the text input's content

    - #### appendText

          public void appendText​(String text)

      Appends a sequence of characters to the content.
      Parameters:
        `text` - a non null String

    - #### insertText

          public void insertText​(int index,
                                 String text)

      Inserts a sequence of characters into the content.
      Parameters:
        `index` - The location to insert the text.
        `text` - The text to insert.

    - #### deleteText

          public void deleteText​(IndexRange range)

      Removes a range of characters from the content.
      Parameters:
        `range` - The range of text to delete. The range object must not be null.
      See Also:
        `deleteText(int, int)`

    - #### deleteText

          public void deleteText​(int start,
                                 int end)

      Removes a range of characters from the content.
      Parameters:
        `start` - The starting index in the range, inclusive. This must be >= 0 and < the end.
        `end` - The ending index in the range, exclusive. This is one-past the last character to delete (consistent with the String manipulation methods). This must be > the start, and <= the length of the text.

    - #### replaceText

          public void replaceText​(IndexRange range,
                                  String text)

      Replaces a range of characters with the given text.
      Parameters:
        `range` - The range of text to replace. The range object must not be null.
        `text` - The text that is to replace the range. This must not be null.
      See Also:
        `replaceText(int, int, String)`

    - #### replaceText

          public void replaceText​(int start,
                                  int end,
                                  String text)

      Replaces a range of characters with the given text.
      Parameters:
        `start` - The starting index in the range, inclusive. This must be >= 0 and < the end.
        `end` - The ending index in the range, exclusive. This is one-past the last character to delete (consistent with the String manipulation methods). This must be > the start, and <= the length of the text.
        `text` - The text that is to replace the range. This must not be null.

    - #### cut

          public void cut()

      Transfers the currently selected range in the text to the clipboard, removing the current selection.

    - #### copy

          public void copy()

      Transfers the currently selected range in the text to the clipboard, leaving the current selection.

    - #### paste

          public void paste()

      Transfers the contents in the clipboard into this text, replacing the current selection. If there is no selection, the contents in the clipboard is inserted at the current caret position.

    - #### selectBackward

          public void selectBackward()

      Moves the selection backward one char in the text. This may have the effect of deselecting, depending on the location of the anchor relative to the caretPosition. This function effectively just moves the caretPosition.

    - #### selectForward

          public void selectForward()

      Moves the selection forward one char in the text. This may have the effect of deselecting, depending on the location of the anchor relative to the caretPosition. This function effectively just moves the caret forward.

    - #### previousWord

          public void previousWord()

      Moves the caret to the beginning of previous word. This function also has the effect of clearing the selection.

    - #### nextWord

          public void nextWord()

      Moves the caret to the beginning of next word. This function also has the effect of clearing the selection.

    - #### endOfNextWord

          public void endOfNextWord()

      Moves the caret to the end of the next word. This function also has the effect of clearing the selection.

    - #### selectPreviousWord

          public void selectPreviousWord()

      Moves the caret to the beginning of previous word. This does not cause the selection to be cleared. Rather, the anchor stays put and the caretPosition is moved to the beginning of previous word.

    - #### selectNextWord

          public void selectNextWord()

      Moves the caret to the beginning of next word. This does not cause the selection to be cleared. Rather, the anchor stays put and the caretPosition is moved to the beginning of next word.

    - #### selectEndOfNextWord

          public void selectEndOfNextWord()

      Moves the caret to the end of the next word. This does not cause the selection to be cleared.

    - #### selectAll

          public void selectAll()

      Selects all text in the text input.

    - #### home

          public void home()

      Moves the caret to before the first char of the text. This function also has the effect of clearing the selection.

    - #### end

          public void end()

      Moves the caret to after the last char of the text. This function also has the effect of clearing the selection.

    - #### selectHome

          public void selectHome()

      Moves the caret to before the first char of text. This does not cause the selection to be cleared. Rather, the anchor stays put and the caretPosition is moved to before the first char.

    - #### selectEnd

          public void selectEnd()

      Moves the caret to after the last char of text. This does not cause the selection to be cleared. Rather, the anchor stays put and the caretPosition is moved to after the last char.

    - #### deletePreviousChar

          public boolean deletePreviousChar()

      Deletes the character that precedes the current caret position from the text if there is no selection, or deletes the selection if there is one. This function returns true if the deletion succeeded, false otherwise.
      Returns:
        true if the deletion succeeded, false otherwise

    - #### deleteNextChar

          public boolean deleteNextChar()

      Deletes the character that follows the current caret position from the text if there is no selection, or deletes the selection if there is one. This function returns true if the deletion succeeded, false otherwise.
      Returns:
        true if the deletion succeeded, false otherwise

    - #### forward

          public void forward()

      Moves the caret position forward. If there is no selection, then the caret position is moved one character forward. If there is a selection, then the caret position is moved to the end of the selection and the selection cleared.

    - #### backward

          public void backward()

      Moves the caret position backward. If there is no selection, then the caret position is moved one character backward. If there is a selection, then the caret position is moved to the beginning of the selection and the selection cleared. Note: This function is intended to be used by experts, primarily by those implementing new Skins or Behaviors. It is not common for developers or designers to access this function directly.

    - #### positionCaret

          public void positionCaret​(int pos)

      Positions the caret to the position indicated by `pos`. This function will also clear the selection.
      Parameters:
        `pos` - the position

    - #### selectPositionCaret

          public void selectPositionCaret​(int pos)

      Positions the caret to the position indicated by `pos` and extends the selection, if there is one. If there is no selection, then a selection is formed where the anchor is at the current caret position and the caretPosition is moved to pos.
      Parameters:
        `pos` - the position

    - #### selectRange

          public void selectRange​(int anchor,
                                  int caretPosition)

      Positions the anchor and caretPosition explicitly.
      Parameters:
        `anchor` - the anchor
        `caretPosition` - the caretPosition

    - #### extendSelection

          public void extendSelection​(int pos)

      This function will extend the selection to include the specified pos. This is different from selectPositionCaret in that it does not simply move the caret. Rather, it will reposition the caret and anchor as necessary to ensure that pos becomes the new caret and the far other end of the selection becomes the anchor.
      Parameters:
        `pos` - the position

    - #### clear

          public void clear()

      Clears the text.

    - #### deselect

          public void deselect()

      Clears the selection.

    - #### replaceSelection

          public void replaceSelection​(String replacement)

      Replaces the selection with the given replacement String. If there is no selection, then the replacement text is simply inserted at the current caret position. If there was a selection, then the selection is cleared and the given replacement text inserted.
      Parameters:
        `replacement` - the replacement string

    - #### undo

          public final void undo()

      If possible, undoes the last modification. If `isUndoable()` returns false, then calling this method has no effect.
      Since:
        JavaFX 8u40

    - #### redo

          public final void redo()

      If possible, redoes the last undone modification. If `isRedoable()` returns false, then calling this method has no effect.
      Since:
        JavaFX 8u40

    - #### commitValue

          public final void commitValue()

      Commit the current text and convert it to a value.
      Since:
        JavaFX 8u40

    - #### cancelEdit

          public final void cancelEdit()

      If the field is currently being edited, this call will set text to the last commited value.
      Since:
        JavaFX 8u40

    - #### getClassCssMetaData

          public static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()

      Returns:
        The CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
      Since:
        JavaFX 8.0

    - #### getControlCssMetaData

          public List<CssMetaData<? extends Styleable,​?>> getControlCssMetaData()

      Overrides:
        `getControlCssMetaData` in class `Control`
      Returns:
        unmodifiable list of the controls css styleable properties
      Since:
        JavaFX 8.0

    - #### queryAccessibleAttribute

          public Object queryAccessibleAttribute​(AccessibleAttribute attribute,
                                                 Object... parameters)

      This method is called by the assistive technology to request the value for an attribute.

      This method is commonly overridden by subclasses to implement attributes that are required for a specific role.
      If a particular attribute is not handled, the superclass implementation must be called.

      Overrides:
        `queryAccessibleAttribute` in class `Control`
      Parameters:
        `attribute` - the requested attribute
        `parameters` - optional list of parameters
      Returns:
        the value for the requested attribute
      See Also:
        `AccessibleAttribute`

    - #### executeAccessibleAction

          public void executeAccessibleAction​(AccessibleAction action,
                                              Object... parameters)

      This method is called by the assistive technology to request the action indicated by the argument should be executed.

      This method is commonly overridden by subclasses to implement action that are required for a specific role.
      If a particular action is not handled, the superclass implementation must be called.

      Overrides:
        `executeAccessibleAction` in class `Control`
      Parameters:
        `action` - the action to execute
        `parameters` - optional list of parameters
      See Also:
        `AccessibleAction`