Class TextFieldSkin
- All Implemented Interfaces:
Skin<TextField>
public class TextFieldSkin extends TextInputControlSkin<TextField>
Default skin implementation for the
TextField control.- Since:
- 9
- See Also:
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
| Constructor | Description |
|---|---|
TextFieldSkin |
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
| Modifier and Type | Method | Description |
|---|---|---|
protected void |
addHighlight |
Adds highlight for composed text from Input Method. |
double |
computeBaselineOffset |
Calculates the baseline offset based on the first managed child. |
void |
deleteChar |
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 |
Performs a hit test, mapping point to index in the content. |
protected PathElement[] |
getRangeShape |
Gets the path elements describing the bounding rectangles for the given range of text. |
protected PathElement[] |
getUnderlineShape |
Gets the path elements describing the shape of the underline for the given range. |
void |
moveCaret |
Moves the caret by one of the given text unit, in the given direction. |
void |
positionCaret |
Moves the caret to the specified position. |
protected void |
removeHighlight |
Removes highlight for composed text from Input Method. |
void |
replaceText |
Replaces a range of characters with the given text. |
Methods declared in class javafx.scene.control.skin.TextInputControlSkin
forwardBiasProperty, getCharacterBounds, getClassCssMetaData, getHighlightFill, getHighlightTextFill, getInsertionPoint, getMenuPosition, getPromptTextFill, getTextFill, handleInputMethodEvent, highlightFillProperty, highlightTextFillProperty, invalidateMetrics, isForwardBias, maskText, promptTextFillProperty, scrollCharacterToVisible, setCaretAnimating, setForwardBias, setHighlightFill, setHighlightTextFill, setPromptTextFill, setTextFill, textFillProperty, updateHighlightFill, updateHighlightTextFill, updateTextFill
Methods declared in class javafx.scene.control.SkinBase
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, consumeMouseEvents, dispose, executeAccessibleAction, getChildren, getCssMetaData, getNode, getSkinnable, 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
Constructor Details
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 Details
computeBaselineOffset
public double computeBaselineOffset(double topInset, double rightInset, double bottomInset, double leftInset)
Calculates the baseline offset based on the first managed child. If there is no such child, returns
Node.getBaselineOffset().- Overrides:
-
computeBaselineOffsetin classSkinBase<TextField> - Parameters:
-
topInset- the pixel snapped top inset -
rightInset- the pixel snapped right inset -
bottomInset- the pixel snapped bottom inset -
leftInset- the pixel snapped left inset - Returns:
- baseline offset
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:
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
HitInfoobject 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.
getUnderlineShape
protected PathElement[] getUnderlineShape(int start, int end)
Gets the path elements describing the shape of the underline for the given range.
- Specified by:
-
getUnderlineShapein classTextInputControlSkin<TextField> - Parameters:
-
start- the start -
end- the end - Returns:
- the path elements describing the shape of the underline for the given range
getRangeShape
protected PathElement[] getRangeShape(int start, int end)
Gets the path elements describing the bounding rectangles for the given range of text.
- Specified by:
-
getRangeShapein classTextInputControlSkin<TextField> - Parameters:
-
start- the start -
end- the end - Returns:
- the path elements describing the bounding rectangles for the given range of text
addHighlight
protected void addHighlight(List<? extends Node> nodes, int start)
Adds highlight for composed text from Input Method.
- Specified by:
-
addHighlightin classTextInputControlSkin<TextField> - Parameters:
-
nodes- the list of nodes -
start- the start
removeHighlight
protected void removeHighlight(List<? extends Node> nodes)
Removes highlight for composed text from Input Method.
- Specified by:
-
removeHighlightin classTextInputControlSkin<TextField> - Parameters:
-
nodes- the list of nodes
moveCaret
public 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.
- Specified by:
-
moveCaretin classTextInputControlSkin<TextField> - Parameters:
-
unit- the unit of text to move by. -
dir- the direction of movement. -
select- whether to extends the selection to the new posititon.
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.