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 BooleanProperty
forwardBias
Caret bias in the content.protected ObjectProperty<Paint>
highlightFill
The fill to use for the text when highlighted.protected ObjectProperty<Paint>
highlightTextFill
protected ObjectProperty<Paint>
promptTextFill
protected ObjectProperty<Paint>
textFill
The fill to use for the text under normal conditions
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TextInputControlSkin.Direction
Direction names for caret movement.static class
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 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 toNode.getClassCssMetaData()
so that a Node's CssMetaData can be accessed without the need for reflection.protected Paint
getHighlightFill()
Gets the value of the property highlightFill.protected Paint
getHighlightTextFill()
Gets the value of the property highlightTextFill.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 Paint
getPromptTextFill()
Gets the value of the property promptTextFill.protected abstract PathElement[]
getRangeShape(int start, int end)
protected Paint
getTextFill()
Gets the value of the property textFill.protected abstract PathElement[]
getUnderlineShape(int start, int end)
protected void
handleInputMethodEvent(InputMethodEvent event)
protected ObjectProperty<Paint>
highlightFillProperty()
The fill to use for the text when highlighted.protected ObjectProperty<Paint>
highlightTextFillProperty()
protected void
invalidateMetrics()
Invalidates cached min and pref sizes for the TextInputControl.protected boolean
isForwardBias()
Gets the value of the property forwardBias.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 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.void
setForwardBias(boolean isLeading)
Sets the value of the property forwardBias.protected void
setHighlightFill(Paint value)
The fillPaint
used for the background of selected text.protected void
setHighlightTextFill(Paint value)
The fillPaint
used for the foreground of selected text.protected void
setPromptTextFill(Paint value)
The fillPaint
used for the foreground prompt text color.protected void
setTextFill(Paint value)
The fillPaint
used for the foreground text color.protected ObjectProperty<Paint>
textFillProperty()
The fill to use for the text under normal conditionsprotected 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
-
-
-
-
Property Detail
-
textFill
protected final ObjectProperty<Paint> textFillProperty
The fill to use for the text under normal conditions- See Also:
getTextFill()
,setTextFill(Paint)
-
promptTextFill
protected final ObjectProperty<Paint> promptTextFillProperty
- See Also:
getPromptTextFill()
,setPromptTextFill(Paint)
-
highlightFill
protected final ObjectProperty<Paint> highlightFillProperty
The fill to use for the text when highlighted.- See Also:
getHighlightFill()
,setHighlightFill(Paint)
-
highlightTextFill
protected final ObjectProperty<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)
-
-
Constructor Detail
-
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 Detail
-
setTextFill
protected final void setTextFill(Paint value)
The fillPaint
used for the foreground text color.- Parameters:
value
- the text fill
-
getTextFill
protected final Paint getTextFill()
Gets the value of the property textFill.- Property description:
- The fill to use for the text under normal conditions
-
textFillProperty
protected final ObjectProperty<Paint> textFillProperty()
The fill to use for the text under normal conditions- See Also:
getTextFill()
,setTextFill(Paint)
-
setPromptTextFill
protected final void setPromptTextFill(Paint value)
The fillPaint
used for the foreground prompt text color.- Parameters:
value
- the prompt text fill
-
getPromptTextFill
protected final Paint getPromptTextFill()
Gets the value of the property promptTextFill.- Property description:
-
promptTextFillProperty
protected final ObjectProperty<Paint> promptTextFillProperty()
- See Also:
getPromptTextFill()
,setPromptTextFill(Paint)
-
setHighlightFill
protected final void setHighlightFill(Paint value)
The fillPaint
used for the background of selected text.- Parameters:
value
- the highlight fill
-
getHighlightFill
protected final Paint getHighlightFill()
Gets the value of the property highlightFill.- Property description:
- The fill to use for the text when highlighted.
-
highlightFillProperty
protected final ObjectProperty<Paint> highlightFillProperty()
The fill to use for the text when highlighted.- See Also:
getHighlightFill()
,setHighlightFill(Paint)
-
setHighlightTextFill
protected final void setHighlightTextFill(Paint value)
The fillPaint
used for the foreground of selected text.- Parameters:
value
- the highlight text fill
-
getHighlightTextFill
protected final Paint getHighlightTextFill()
Gets the value of the property highlightTextFill.- Property description:
-
highlightTextFillProperty
protected final ObjectProperty<Paint> highlightTextFillProperty()
-
forwardBiasProperty
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)
-
setForwardBias
public final void setForwardBias(boolean isLeading)
Sets the value of the property forwardBias.- Property description:
- Caret bias in the content. true means a bias towards forward character (true=leading/false=trailing)
-
isForwardBias
protected final boolean isForwardBias()
Gets the value of the property forwardBias.- Property description:
- Caret bias in the content. true means a bias towards forward character (true=leading/false=trailing)
-
getUnderlineShape
protected abstract PathElement[] getUnderlineShape(int start, int end)
- Parameters:
start
- the startend
- 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 startend
- 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 nodesstart
- 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 locationy
- 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 toNode.getClassCssMetaData()
so that a Node's CssMetaData can be accessed without the need for reflection.- Overrides:
getCssMetaData
in classSkinBase<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 classSkinBase<T extends TextInputControl>
- Parameters:
action
- the action to executeparameters
- optional list of parameters- See Also:
AccessibleAction
,Node.executeAccessibleAction(javafx.scene.AccessibleAction, java.lang.Object...)
-
-