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

# Class TextInputControlSkin<T extends TextInputControl>

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

All Implemented Interfaces:
  `Skin<T>`

Direct Known Subclasses:
  `TextAreaSkin`, `TextFieldSkin`

public abstract class TextInputControlSkin<T extends TextInputControl> extends SkinBase<T>
Abstract base class for text input skins.

Since:
  9
See Also:
  - `TextFieldSkin`
  - `TextAreaSkin`

## Property Summary

Properties
Type
Property
Description
`protected final BooleanProperty`
`forwardBias`
Caret bias in the content.
`protected final ObjectProperty<Paint>`
`highlightFill`
The fill to use for the text when highlighted.
`protected final ObjectProperty<Paint>`
`highlightTextFill`
`protected final ObjectProperty<Paint>`
`promptTextFill`
`protected final ObjectProperty<Paint>`
`textFill`
The fill to use for the text under normal conditions

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`TextInputControlSkin.Direction`
Direction names for caret movement.
`static enum`
`TextInputControlSkin.TextUnit`
Unit names for caret movement.

## Constructor Summary

Constructors
Constructor
Description
`TextInputControlSkin(T control)`
Creates a new instance of TextInputControlSkin, although note that this instance does not handle any behavior / input mappings - this needs to be handled appropriately by subclasses.

## Method Summary

Modifier and Type
Method
Description
`protected abstract void`
`addHighlight(List<? extends Node> nodes, int start)`
Adds highlight for composed text from Input Method.
`protected 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.
`protected final BooleanProperty`
`forwardBiasProperty()`
Caret bias in the content.
`Rectangle2D`
`getCharacterBounds(int index)`
Returns the bounds of the character at a given index.
`static List<CssMetaData<? extends Styleable,?>>`
`getClassCssMetaData()`
Returns the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
`List<CssMetaData<? extends Styleable,?>>`
`getCssMetaData()`
This method should delegate to `Node.getClassCssMetaData()` so that a Node's CssMetaData can be accessed without the need for reflection.
`protected final Paint`
`getHighlightFill()`
Gets the value of the `highlightFill` property.
`protected final Paint`
`getHighlightTextFill()`
Gets the value of the `highlightTextFill` property.
`protected int`
`getInsertionPoint(double x, double y)`
Returns the insertion point for a given location.
`Point2D`
`getMenuPosition()`
Returns the position to be used for a context menu, based on the location of the caret handle or selection handles.
`protected final Paint`
`getPromptTextFill()`
Gets the value of the `promptTextFill` property.
`protected abstract PathElement[]`
`getRangeShape(int start, int end)`
`protected final Paint`
`getTextFill()`
Gets the value of the `textFill` property.
`protected abstract PathElement[]`
`getUnderlineShape(int start, int end)`
`protected void`
`handleInputMethodEvent(InputMethodEvent event)`
`protected final ObjectProperty<Paint>`
`highlightFillProperty()`
The fill to use for the text when highlighted.
`protected final ObjectProperty<Paint>`
`highlightTextFillProperty()`
`protected void`
`invalidateMetrics()`
Invalidates cached min and pref sizes for the TextInputControl.
`protected final boolean`
`isForwardBias()`
Gets the value of the `forwardBias` property.
`protected String`
`maskText(String txt)`
This method may be overridden by subclasses to replace the displayed characters without affecting the actual text content.
`abstract void`
`moveCaret(TextInputControlSkin.TextUnit unit, TextInputControlSkin.Direction dir, boolean select)`
Moves the caret by one of the given text unit, in the given direction.
`protected final ObjectProperty<Paint>`
`promptTextFillProperty()`
`protected abstract void`
`removeHighlight(List<? extends Node> nodes)`
Removes highlight for composed text from Input Method.
`protected void`
`scrollCharacterToVisible(int index)`
Ensures that the character at a given index is visible.
`void`
`setCaretAnimating(boolean value)`
Starts or stops caret blinking.
`final void`
`setForwardBias(boolean isLeading)`
Sets the value of the `forwardBias` property.
`protected final void`
`setHighlightFill(Paint value)`
The fill `Paint` used for the background of selected text.
`protected final void`
`setHighlightTextFill(Paint value)`
The fill `Paint` used for the foreground of selected text.
`protected final void`
`setPromptTextFill(Paint value)`
The fill `Paint` used for the foreground prompt text color.
`protected final void`
`setTextFill(Paint value)`
The fill `Paint` used for the foreground text color.
`protected final ObjectProperty<Paint>`
`textFillProperty()`
The fill to use for the text under normal conditions
`protected void`
`updateHighlightFill()`
Called when highlightFill property changes.
`protected void`
`updateHighlightTextFill()`
Called when highlightTextFill property changes.
`protected void`
`updateTextFill()`
Called when textFill property changes.

### Methods inherited from class javafx.scene.control.SkinBase

`computeBaselineOffset, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, consumeMouseEvents, dispose, getChildren, getNode, getSkinnable, layoutChildren, layoutInArea, layoutInArea, layoutInArea, positionInArea, positionInArea, pseudoClassStateChanged, queryAccessibleAttribute, registerChangeListener, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, unregisterChangeListeners`

### Methods inherited from class java.lang.Object

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

## Property Details

### textFill

protected final ObjectProperty<Paint> textFillProperty
The fill to use for the text under normal conditions

See Also:
  - `getTextFill()`
  - `setTextFill(Paint)`
  - `textFillProperty()`

### promptTextFill

protected final ObjectProperty<Paint> promptTextFillProperty

See Also:
  - `getPromptTextFill()`
  - `setPromptTextFill(Paint)`
  - `promptTextFillProperty()`

### highlightFill

protected final ObjectProperty<Paint> highlightFillProperty
The fill to use for the text when highlighted.

See Also:
  - `getHighlightFill()`
  - `setHighlightFill(Paint)`
  - `highlightFillProperty()`

### highlightTextFill

protected final ObjectProperty<Paint> highlightTextFillProperty

See Also:
  - `getHighlightTextFill()`
  - `setHighlightTextFill(Paint)`
  - `highlightTextFillProperty()`

### forwardBias

protected final BooleanProperty forwardBiasProperty
Caret bias in the content. true means a bias towards forward character (true=leading/false=trailing)

See Also:
  - `isForwardBias()`
  - `setForwardBias(boolean)`
  - `forwardBiasProperty()`

## Constructor Details

### TextInputControlSkin

public TextInputControlSkin(T control)
Creates a new instance of TextInputControlSkin, although note that this instance does not handle any behavior / input mappings - this needs to be handled appropriately by subclasses.

Parameters:
  `control` - The control that this skin should be installed onto.

## Method Details

### setTextFill

protected final void setTextFill(Paint value)
The fill `Paint` used for the foreground text color.

Parameters:
  `value` - the text fill

### getTextFill

protected final Paint getTextFill()
Gets the value of the `textFill` property.

Property description:
  The fill to use for the text under normal conditions
Returns:
  the value of the `textFill` property
See Also:
  - `setTextFill(Paint)`
  - `textFillProperty()`

### textFillProperty

protected final ObjectProperty<Paint> textFillProperty()
The fill to use for the text under normal conditions

Returns:
  the `textFill` property
See Also:
  - `getTextFill()`
  - `setTextFill(Paint)`

### setPromptTextFill

protected final void setPromptTextFill(Paint value)
The fill `Paint` used for the foreground prompt text color.

Parameters:
  `value` - the prompt text fill

### getPromptTextFill

protected final Paint getPromptTextFill()
Gets the value of the `promptTextFill` property.

Property description:
Returns:
  the value of the `promptTextFill` property
See Also:
  - `setPromptTextFill(Paint)`
  - `promptTextFillProperty()`

### promptTextFillProperty

protected final ObjectProperty<Paint> promptTextFillProperty()

Returns:
  the `promptTextFill` property
See Also:
  - `getPromptTextFill()`
  - `setPromptTextFill(Paint)`

### setHighlightFill

protected final void setHighlightFill(Paint value)
The fill `Paint` used for the background of selected text.

Parameters:
  `value` - the highlight fill

### getHighlightFill

protected final Paint getHighlightFill()
Gets the value of the `highlightFill` property.

Property description:
  The fill to use for the text when highlighted.
Returns:
  the value of the `highlightFill` property
See Also:
  - `setHighlightFill(Paint)`
  - `highlightFillProperty()`

### highlightFillProperty

protected final ObjectProperty<Paint> highlightFillProperty()
The fill to use for the text when highlighted.

Returns:
  the `highlightFill` property
See Also:
  - `getHighlightFill()`
  - `setHighlightFill(Paint)`

### setHighlightTextFill

protected final void setHighlightTextFill(Paint value)
The fill `Paint` used for the foreground of selected text.

Parameters:
  `value` - the highlight text fill

### getHighlightTextFill

protected final Paint getHighlightTextFill()
Gets the value of the `highlightTextFill` property.

Property description:
Returns:
  the value of the `highlightTextFill` property
See Also:
  - `setHighlightTextFill(Paint)`
  - `highlightTextFillProperty()`

### highlightTextFillProperty

protected final ObjectProperty<Paint> highlightTextFillProperty()

Returns:
  the `highlightTextFill` property
See Also:
  - `getHighlightTextFill()`
  - `setHighlightTextFill(Paint)`

### forwardBiasProperty

protected final BooleanProperty forwardBiasProperty()
Caret bias in the content. true means a bias towards forward character (true=leading/false=trailing)

Returns:
  the `forwardBias` property
See Also:
  - `isForwardBias()`
  - `setForwardBias(boolean)`

### setForwardBias

public final void setForwardBias(boolean isLeading)
Sets the value of the `forwardBias` property.

Property description:
  Caret bias in the content. true means a bias towards forward character (true=leading/false=trailing)
Parameters:
  `isLeading` - the value for the `forwardBias` property
See Also:
  - `isForwardBias()`
  - `forwardBiasProperty()`

### isForwardBias

protected final boolean isForwardBias()
Gets the value of the `forwardBias` property.

Property description:
  Caret bias in the content. true means a bias towards forward character (true=leading/false=trailing)
Returns:
  the value of the `forwardBias` property
See Also:
  - `setForwardBias(boolean)`
  - `forwardBiasProperty()`

### getUnderlineShape

protected abstract PathElement[] getUnderlineShape(int start, int end)

Parameters:
  `start` - the start
  `end` - the end
Returns:
  the path elements describing the shape of the underline for the given range.

### getRangeShape

protected abstract PathElement[] getRangeShape(int start, int end)

Parameters:
  `start` - the start
  `end` - the end
Returns:
  the path elements describing the bounding rectangles for the given range of text.

### addHighlight

protected abstract void addHighlight(List<? extends Node> nodes, int start)
Adds highlight for composed text from Input Method.

Parameters:
  `nodes` - the list of nodes
  `start` - the start

### removeHighlight

protected abstract void removeHighlight(List<? extends Node> nodes)
Removes highlight for composed text from Input Method.

Parameters:
  `nodes` - the list of nodes

### moveCaret

public abstract void moveCaret(TextInputControlSkin.TextUnit unit, TextInputControlSkin.Direction dir, boolean select)
Moves the caret by one of the given text unit, in the given direction. Note that only certain combinations are valid, depending on the implementing subclass.

Parameters:
  `unit` - the unit of text to move by.
  `dir` - the direction of movement.
  `select` - whether to extends the selection to the new posititon.

### getMenuPosition

public Point2D getMenuPosition()
Returns the position to be used for a context menu, based on the location of the caret handle or selection handles. This is supported only on touch displays and does not use the location of the mouse.

Returns:
  the position to be used for this context menu

### maskText

protected String maskText(String txt)
This method may be overridden by subclasses to replace the displayed characters without affecting the actual text content. This is used to display bullet characters in PasswordField.

Parameters:
  `txt` - the content that may need to be masked.
Returns:
  the replacement string. This may just be the input string, or may be a string of replacement characters with the same length as the input string.

### getInsertionPoint

protected int getInsertionPoint(double x, double y)
Returns the insertion point for a given location.

Parameters:
  `x` - the x location
  `y` - the y location
Returns:
  the insertion point for a given location

### getCharacterBounds

public Rectangle2D getCharacterBounds(int index)
Returns the bounds of the character at a given index.

Parameters:
  `index` - the index
Returns:
  the bounds of the character at a given index

### scrollCharacterToVisible

protected void scrollCharacterToVisible(int index)
Ensures that the character at a given index is visible.

Parameters:
  `index` - the index

### invalidateMetrics

protected void invalidateMetrics()
Invalidates cached min and pref sizes for the TextInputControl.

### updateTextFill

protected void updateTextFill()
Called when textFill property changes.

### updateHighlightFill

protected void updateHighlightFill()
Called when highlightFill property changes.

### updateHighlightTextFill

protected void updateHighlightTextFill()
Called when highlightTextFill property changes.

### handleInputMethodEvent

protected void handleInputMethodEvent(InputMethodEvent event)

### setCaretAnimating

public void setCaretAnimating(boolean value)
Starts or stops caret blinking. The behavior classes use this to temporarily pause blinking while user is typing or otherwise moving the caret.

Parameters:
  `value` - whether caret should be blinking.

### getClassCssMetaData

public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
Returns the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.

Returns:
  the CssMetaData associated with this class, which may include the CssMetaData of its superclasses

### getCssMetaData

public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
This method should delegate to `Node.getClassCssMetaData()` so that a Node's CssMetaData can be accessed without the need for reflection.

Overrides:
  `getCssMetaData` in class `SkinBase<T extends TextInputControl>`
Returns:
  The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.

### executeAccessibleAction

protected void executeAccessibleAction(AccessibleAction action, Object... parameters)
Description copied from class: `SkinBase`
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 `SkinBase<T extends TextInputControl>`
Parameters:
  `action` - the action to execute
  `parameters` - optional list of parameters
See Also:
  - `AccessibleAction`
  - `Node.executeAccessibleAction(javafx.scene.AccessibleAction, java.lang.Object...)`