Class TextAreaSkin

All Implemented Interfaces:
Skin<TextArea>

public class TextAreaSkin extends TextInputControlSkin<TextArea>
Default skin implementation for the TextArea control.
Since:
9
See Also:
  • Constructor Details

    • TextAreaSkin

      public TextAreaSkin(TextArea control)
      Creates a new TextAreaSkin 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

    • 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.
    • 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:
      moveCaret in class TextInputControlSkin<TextArea>
      Parameters:
      unit - the unit of text to move by.
      dir - the direction of movement.
      select - whether to extends the selection to the new posititon.
    • getUnderlineShape

      protected PathElement[] getUnderlineShape(int start, int end)
      Gets the path elements describing the shape of the underline for the given range.
      Specified by:
      getUnderlineShape in class TextInputControlSkin<TextArea>
      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:
      getRangeShape in class TextInputControlSkin<TextArea>
      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:
      addHighlight in class TextInputControlSkin<TextArea>
      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:
      removeHighlight in class TextInputControlSkin<TextArea>
      Parameters:
      nodes - the list of nodes
    • getCaretBounds

      public Bounds getCaretBounds()
      Gets the Bounds of the caret of the skinned TextArea.
      Returns:
      the Bounds of the caret shape, relative to the TextArea.
    • 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:
      computeBaselineOffset in class SkinBase<TextArea>
      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
    • 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.