Class 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 Details

  • Constructor Details

    • 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 Details

    • 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.
      Returns:
      the font property
      Since:
      JavaFX 8.0
      See Also:
    • setFont

      public final void setFont(Font value)
      Sets the value of the font property.
      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.
      Parameters:
      value - the value for the font property
      Since:
      JavaFX 8.0
      See Also:
    • getFont

      public final Font getFont()
      Gets the value of the font property.
      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.
      Returns:
      the value of the font property
      Since:
      JavaFX 8.0
      See Also:
    • 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
      Returns:
      the promptText property
      Since:
      JavaFX 2.2
      See Also:
    • getPromptText

      public final String getPromptText()
      Gets the value of the promptText property.
      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
      Returns:
      the value of the promptText property
      Since:
      JavaFX 2.2
      See Also:
    • setPromptText

      public final void setPromptText(String value)
      Sets the value of the promptText property.
      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
      Parameters:
      value - the value for the promptText property
      Since:
      JavaFX 2.2
      See Also:
    • 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
      Returns:
      the textFormatter property
      Since:
      JavaFX 8u40
      See Also:
    • getTextFormatter

      public final TextFormatter<?> getTextFormatter()
      Gets the value of the textFormatter property.
      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
      Returns:
      the value of the textFormatter property
      Since:
      JavaFX 8u40
      See Also:
    • setTextFormatter

      public final void setTextFormatter(TextFormatter<?> value)
      Sets the value of the textFormatter property.
      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
      Parameters:
      value - the value for the textFormatter property
      Since:
      JavaFX 8u40
      See Also:
    • 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 text property.
      Property description:
      The textual content of this TextInputControl.
      Returns:
      the value of the text property
      See Also:
    • setText

      public final void setText(String value)
      Sets the value of the text property.
      Property description:
      The textual content of this TextInputControl.
      Parameters:
      value - the value for the text property
      See Also:
    • textProperty

      public final StringProperty textProperty()
      The textual content of this TextInputControl.
      Returns:
      the text property
      See Also:
    • getLength

      public final int getLength()
      Gets the value of the length property.
      Property description:
      The number of characters in the text input.
      Returns:
      the value of the length property
      See Also:
    • lengthProperty

      public final ReadOnlyIntegerProperty lengthProperty()
      The number of characters in the text input.
      Returns:
      the length property
      See Also:
    • isEditable

      public final boolean isEditable()
      Gets the value of the editable property.
      Property description:
      Indicates whether this TextInputControl can be edited by the user.
      Returns:
      the value of the editable property
      See Also:
    • setEditable

      public final void setEditable(boolean value)
      Sets the value of the editable property.
      Property description:
      Indicates whether this TextInputControl can be edited by the user.
      Parameters:
      value - the value for the editable property
      See Also:
    • editableProperty

      public final BooleanProperty editableProperty()
      Indicates whether this TextInputControl can be edited by the user.
      Returns:
      the editable property
      See Also:
    • getSelection

      public final IndexRange getSelection()
      Gets the value of the selection property.
      Property description:
      The current selection.
      Returns:
      the value of the selection property
      See Also:
    • selectionProperty

      public final ReadOnlyObjectProperty<IndexRange> selectionProperty()
      The current selection.
      Returns:
      the selection property
      See Also:
    • getSelectedText

      public final String getSelectedText()
      Gets the value of the selectedText property.
      Property description:
      Defines the characters in the TextInputControl which are selected
      Returns:
      the value of the selectedText property
      See Also:
    • selectedTextProperty

      public final ReadOnlyStringProperty selectedTextProperty()
      Defines the characters in the TextInputControl which are selected
      Returns:
      the selectedText property
      See Also:
    • getAnchor

      public final int getAnchor()
      Gets the value of the anchor property.
      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.
      Returns:
      the value of the anchor property
      See Also:
    • 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.
      Returns:
      the anchor property
      See Also:
    • getCaretPosition

      public final int getCaretPosition()
      Gets the value of the caretPosition property.
      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.
      Returns:
      the value of the caretPosition property
      See Also:
    • 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.
      Returns:
      the caretPosition property
      See Also:
    • isUndoable

      public final boolean isUndoable()
      Gets the value of the undoable property.
      Property description:
      The property describes if it's currently possible to undo the latest change of the content that was done.
      Default value:
      false
      Returns:
      the value of the undoable property
      Since:
      JavaFX 8u40
      See Also:
    • 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
      Returns:
      the undoable property
      Since:
      JavaFX 8u40
      See Also:
    • isRedoable

      public final boolean isRedoable()
      Gets the value of the redoable property.
      Property description:
      The property describes if it's currently possible to redo the latest change of the content that was undone.
      Default value:
      false
      Returns:
      the value of the redoable property
      Since:
      JavaFX 8u40
      See Also:
    • 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
      Returns:
      the redoable property
      Since:
      JavaFX 8u40
      See Also:
    • 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

      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

      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()
      Gets the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
      Returns:
      the CssMetaData
      Since:
      JavaFX 8.0
    • getControlCssMetaData

      public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
      Gets the unmodifiable list of the control's CSS-styleable properties.
      Overrides:
      getControlCssMetaData in class Control
      Returns:
      the unmodifiable list of the control's CSS-styleable properties
      Since:
      JavaFX 8.0