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 Details

  • 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 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 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 property promptTextFill.
      Property description:
    • promptTextFillProperty

      protected final ObjectProperty<Paint> promptTextFillProperty()
      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 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 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 property highlightTextFill.
      Property description:
    • highlightTextFillProperty

      protected final ObjectProperty<Paint> highlightTextFillProperty()
      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)
      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 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...)