TextFieldSkin (JavaFX 17)

Module javafx.controls
Package javafx.scene.control.skin

## Class TextFieldSkin

- java.lang.Object
- - javafx.scene.control.SkinBase<T>
  - - javafx.scene.control.skin.TextInputControlSkin<TextField>
    - - javafx.scene.control.skin.TextFieldSkin

- All Implemented Interfaces:
    `Skin<TextField>`

      public class TextFieldSkin
      extends TextInputControlSkin<TextField>

  Default skin implementation for the `TextField` control.
  Since:
    9
  See Also:
    `TextField`

- - ### Property Summary

    - ### Properties declared in class javafx.scene.control.skin.TextInputControlSkin

      `forwardBias, highlightFill, highlightTextFill, promptTextFill, textFill`

  - ### Nested Class Summary

    - ### Nested classes/interfaces declared in class javafx.scene.control.skin.TextInputControlSkin

      `TextInputControlSkin.Direction, TextInputControlSkin.TextUnit`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TextFieldSkin​(TextField control)` | Creates a new TextFieldSkin instance, installing the necessary child nodes into the Control `children` list, as well as the necessary input mappings for handling key, mouse, etc events.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `deleteChar​(boolean previous)` | Deletes the character that follows or precedes the current caret position from the text if there is no selection, or deletes the selection if there is one.
    `HitInfo` | `getIndex​(double x, double y)` | Performs a hit test, mapping point to index in the content.
    `void` | `positionCaret​(HitInfo hit, boolean select)` | Moves the caret to the specified position.
    `void` | `replaceText​(int start, int end, String txt)` | Replaces a range of characters with the given text.

    - ### Methods declared in class javafx.scene.control.skin.TextInputControlSkin

      `addHighlight, forwardBiasProperty, getCharacterBounds, getClassCssMetaData, getHighlightFill, getHighlightTextFill, getInsertionPoint, getMenuPosition, getPromptTextFill, getRangeShape, getTextFill, getUnderlineShape, handleInputMethodEvent, highlightFillProperty, highlightTextFillProperty, invalidateMetrics, isForwardBias, maskText, moveCaret, promptTextFillProperty, removeHighlight, scrollCharacterToVisible, setCaretAnimating, setForwardBias, setHighlightFill, setHighlightTextFill, setPromptTextFill, setTextFill, textFillProperty, updateHighlightFill, updateHighlightTextFill, updateTextFill`

    - ### Methods declared in class javafx.scene.control.SkinBase

      `computeBaselineOffset, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, consumeMouseEvents, executeAccessibleAction, getChildren, getCssMetaData, layoutChildren, layoutInArea, layoutInArea, layoutInArea, positionInArea, positionInArea, pseudoClassStateChanged, queryAccessibleAttribute, registerChangeListener, registerInvalidationListener, registerListChangeListener, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, unregisterChangeListeners, unregisterInvalidationListeners, unregisterListChangeListeners`

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods declared in interface javafx.scene.control.Skin

      `dispose, getNode, getSkinnable`

- - ### Constructor Detail

    - #### TextFieldSkin

          public TextFieldSkin​(TextField control)

      Creates a new TextFieldSkin instance, installing the necessary child nodes into the Control `children` list, as well as the necessary input mappings for handling key, mouse, etc events.
      Parameters:
        `control` - The control that this skin should be installed onto.

  - ### Method Detail

    - #### replaceText

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

      Replaces a range of characters with the given text. Call this implementation from behavior classes instead of the one provided on TextInputControl to ensure that the text scrolls as needed.
      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.
        `txt` - The text that is to replace the range. This must not be null.
      See Also:
        `TextInputControl.replaceText(int, int, String)`

    - #### deleteChar

          public void deleteChar​(boolean previous)

      Deletes the character that follows or precedes the current caret position from the text if there is no selection, or deletes the selection if there is one. Call this implementation from behavior classes instead of the one provided on TextInputControl to ensure that the text scrolls as needed.
      Parameters:
        `previous` - whether to delete the preceding character.

    - #### getIndex

          public HitInfo getIndex​(double x,
                                  double y)

      Performs a hit test, mapping point to index in the content.
      Parameters:
        `x` - the x coordinate of the point.
        `y` - the y coordinate of the point.
      Returns:
        a `HitInfo` object describing the index and forward bias.

    - #### positionCaret

          public void positionCaret​(HitInfo hit,
                                    boolean select)

      Moves the caret to the specified position.
      Parameters:
        `hit` - the new position and forward bias of the caret.
        `select` - whether to extend selection to the new position.