## Uses of Class
java.awt.font.TextHitInfo

- Packages that use TextHitInfo
  Package | Description
  --- | ---
  java.awt.event | Provides interfaces and classes for dealing with different types of events fired by AWT components.
  java.awt.font | Provides classes and interface relating to fonts.
  java.awt.im | Provides classes and interfaces for the input method framework.
  java.awt.im.spi | Provides interfaces that enable the development of input methods that can be used with any Java runtime environment.

- - ### Uses of TextHitInfo in java.awt.event

    Methods in java.awt.event that return TextHitInfo
    Modifier and Type | Method | Description
    --- | --- | ---
    `TextHitInfo` | InputMethodEvent.`getCaret()` Gets the caret.
    `TextHitInfo` | InputMethodEvent.`getVisiblePosition()` Gets the position that's most important to be visible.

    Constructors in java.awt.event with parameters of type TextHitInfo
    Constructor | Description
    --- | ---
    `InputMethodEvent(Component source, int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)` Constructs an `InputMethodEvent` with the specified source component, type, text, caret, and visiblePosition.
    `InputMethodEvent(Component source, int id, long when, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)` Constructs an `InputMethodEvent` with the specified source component, type, time, text, caret, and visiblePosition.
    `InputMethodEvent(Component source, int id, TextHitInfo caret, TextHitInfo visiblePosition)` Constructs an `InputMethodEvent` with the specified source component, type, caret, and visiblePosition.

  - ### Uses of TextHitInfo in java.awt.font

    Methods in java.awt.font that return TextHitInfo
    Modifier and Type | Method | Description
    --- | --- | ---
    `static TextHitInfo` | TextHitInfo.`afterOffset(int offset)` Creates a `TextHitInfo` at the specified offset, associated with the character after the offset.
    `static TextHitInfo` | TextHitInfo.`beforeOffset(int offset)` Creates a `TextHitInfo` at the specified offset, associated with the character before the offset.
    `TextHitInfo` | TextLayout.`getNextLeftHit(int offset)` Returns the hit for the next caret to the left (top); if no such hit, returns `null`.
    `TextHitInfo` | TextLayout.`getNextLeftHit(int offset, TextLayout.CaretPolicy policy)` Returns the hit for the next caret to the left (top); if no such hit, returns `null`.
    `TextHitInfo` | TextLayout.`getNextLeftHit(TextHitInfo hit)` Returns the hit for the next caret to the left (top); if no such hit, returns `null`.
    `TextHitInfo` | TextLayout.`getNextRightHit(int offset)` Returns the hit for the next caret to the right (bottom); if no such hit, returns `null`.
    `TextHitInfo` | TextLayout.`getNextRightHit(int offset, TextLayout.CaretPolicy policy)` Returns the hit for the next caret to the right (bottom); if no such hit, returns `null`.
    `TextHitInfo` | TextLayout.`getNextRightHit(TextHitInfo hit)` Returns the hit for the next caret to the right (bottom); if there is no such hit, returns `null`.
    `TextHitInfo` | TextHitInfo.`getOffsetHit(int delta)` Creates a `TextHitInfo` whose character index is offset by `delta` from the `charIndex` of this `TextHitInfo`.
    `TextHitInfo` | TextHitInfo.`getOtherHit()` Creates a `TextHitInfo` on the other side of the insertion point.
    `TextHitInfo` | TextLayout.CaretPolicy.`getStrongCaret(TextHitInfo hit1, TextHitInfo hit2, TextLayout layout)` Chooses one of the specified `TextHitInfo` instances as a strong caret in the specified `TextLayout`.
    `TextHitInfo` | TextLayout.`getVisualOtherHit(TextHitInfo hit)` Returns the hit on the opposite side of the specified hit's caret.
    `TextHitInfo` | TextLayout.`hitTestChar(float x, float y)` Returns a `TextHitInfo` corresponding to the specified point.
    `TextHitInfo` | TextLayout.`hitTestChar(float x, float y, Rectangle2D bounds)` Returns a `TextHitInfo` corresponding to the specified point.
    `static TextHitInfo` | TextHitInfo.`leading(int charIndex)` Creates a `TextHitInfo` on the leading edge of the character at the specified `charIndex`.
    `static TextHitInfo` | TextHitInfo.`trailing(int charIndex)` Creates a hit on the trailing edge of the character at the specified `charIndex`.

    Methods in java.awt.font with parameters of type TextHitInfo
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | TextHitInfo.`equals(TextHitInfo hitInfo)` Returns `true` if the specified `TextHitInfo` has the same `charIndex` and `isLeadingEdge` as this `TextHitInfo`.
    `float[]` | TextLayout.`getCaretInfo(TextHitInfo hit)` Returns information about the caret corresponding to `hit`.
    `float[]` | TextLayout.`getCaretInfo(TextHitInfo hit, Rectangle2D bounds)` Returns information about the caret corresponding to `hit`.
    `Shape` | TextLayout.`getCaretShape(TextHitInfo hit)` Returns a `Shape` representing the caret at the specified hit inside the natural bounds of this `TextLayout`.
    `Shape` | TextLayout.`getCaretShape(TextHitInfo hit, Rectangle2D bounds)` Returns a `Shape` representing the caret at the specified hit inside the specified bounds.
    `int[]` | TextLayout.`getLogicalRangesForVisualSelection(TextHitInfo firstEndpoint, TextHitInfo secondEndpoint)` Returns the logical ranges of text corresponding to a visual selection.
    `TextHitInfo` | TextLayout.`getNextLeftHit(TextHitInfo hit)` Returns the hit for the next caret to the left (top); if no such hit, returns `null`.
    `TextHitInfo` | TextLayout.`getNextRightHit(TextHitInfo hit)` Returns the hit for the next caret to the right (bottom); if there is no such hit, returns `null`.
    `TextHitInfo` | TextLayout.CaretPolicy.`getStrongCaret(TextHitInfo hit1, TextHitInfo hit2, TextLayout layout)` Chooses one of the specified `TextHitInfo` instances as a strong caret in the specified `TextLayout`.
    `Shape` | TextLayout.`getVisualHighlightShape(TextHitInfo firstEndpoint, TextHitInfo secondEndpoint)` Returns a `Shape` enclosing the visual selection in the specified range, extended to the bounds.
    `Shape` | TextLayout.`getVisualHighlightShape(TextHitInfo firstEndpoint, TextHitInfo secondEndpoint, Rectangle2D bounds)` Returns a path enclosing the visual selection in the specified range, extended to `bounds`.
    `TextHitInfo` | TextLayout.`getVisualOtherHit(TextHitInfo hit)` Returns the hit on the opposite side of the specified hit's caret.
    `void` | TextLayout.`hitToPoint(TextHitInfo hit, Point2D point)` Convert a hit to a point in standard coordinates.

  - ### Uses of TextHitInfo in java.awt.im

    Methods in java.awt.im that return TextHitInfo
    Modifier and Type | Method | Description
    --- | --- | ---
    `TextHitInfo` | InputMethodRequests.`getLocationOffset(int x, int y)` Gets the offset within the composed text for the specified absolute x and y coordinates on the screen.

    Methods in java.awt.im with parameters of type TextHitInfo
    Modifier and Type | Method | Description
    --- | --- | ---
    `Rectangle` | InputMethodRequests.`getTextLocation(TextHitInfo offset)` Gets the location of a specified offset in the current composed text, or of the selection in committed text.

  - ### Uses of TextHitInfo in java.awt.im.spi

    Methods in java.awt.im.spi with parameters of type TextHitInfo
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | InputMethodContext.`dispatchInputMethodEvent(int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)` Creates an input method event from the arguments given and dispatches it to the client component.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.