Класс TextHitInfo
public final class TextHitInfo extends Object
TextHitInfo представляет позицию символа в текстовой модели и смещение, или «сторону» символа. Смещение бывает начальным (левый край для символа, записанного слева направо) или конечным (правый край для символа, записанного слева направо). Экземпляры TextHitInfo используются для указания позиций каретки и вставки в тексте. Например, рассмотрим текст «abc». TextHitInfo.trailing(1) соответствует правой стороне символа «b» в тексте.
TextHitInfo используется главным образом классом TextLayout и клиентами TextLayout. Клиенты TextLayout запрашивают у экземпляров TextHitInfo смещение вставки — позицию, в которую новый текст вставляется в текстовую модель. Смещение вставки равно позиции символа в TextHitInfo, если смещение начальное, и на единицу больше, если оно конечное. Смещение вставки для TextHitInfo.trailing(1) равно 2.
Иногда удобно создать TextHitInfo с тем же смещением вставки, что и у существующего, но для противоположного символа. Метод getOtherHit создает новый TextHitInfo с тем же смещением вставки, что и у существующего, указывая на символ с другой стороны от смещения вставки. Вызов getOtherHit для trailing(1) вернет leading(2). В общем случае getOtherHit для trailing(n) возвращает leading(n+1), а getOtherHit для leading(n) возвращает trailing(n-1).
Пример:
Преобразование графической точки в точку вставки в текстовой модели
TextLayout layout = ...; Point2D.Float hitPoint = ...; TextHitInfo hitInfo = layout.hitTestChar(hitPoint.x, hitPoint.y); int insPoint = hitInfo.getInsertionIndex(); // insPoint is relative to layout; may need to adjust for use // in a text model
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static TextHitInfo |
afterOffset |
Создает TextHitInfo с указанным смещением, связанный с символом после смещения. |
static TextHitInfo |
beforeOffset |
Создает TextHitInfo с указанным смещением, связанный с символом перед смещением. |
boolean |
equals |
Возвращает true, если указанный TextHitInfo имеет те же charIndex и isLeadingEdge, что и этот TextHitInfo. |
boolean |
equals |
Возвращает true, если указанный Object является TextHitInfo и равен этому TextHitInfo. |
int |
getCharIndex() |
Возвращает индекс затронутого символа. |
int |
getInsertionIndex() |
Возвращает индекс вставки. |
TextHitInfo |
getOffsetHit |
Создает TextHitInfo, индекс символа которого смещен на delta относительно charIndex этого TextHitInfo. |
TextHitInfo |
getOtherHit() |
Создает TextHitInfo на другой стороне точки вставки. |
int |
hashCode() |
Возвращает хеш-код. |
boolean |
isLeadingEdge() |
Возвращает true, если затронут начальный край символа. |
static TextHitInfo |
leading |
Создает TextHitInfo на начальном крае символа с указанным charIndex. |
String |
toString() |
Возвращает String, представляющую попадание и предназначенную только для отладки. |
static TextHitInfo |
trailing |
Создает попадание на конечном крае символа с указанным charIndex. |
Подробное описание методов
getCharIndex
public int getCharIndex()
- Возвращает:
- индекс затронутого символа.
isLeadingEdge
public boolean isLeadingEdge()
true, если затронут начальный край символа.- Возвращает:
-
true, если затронут начальный край символа; в противном случае —false.
getInsertionIndex
public int getInsertionIndex()
- Возвращает:
- индекс вставки.
hashCode
equals
public boolean equals(Object obj)
true, если указанный Object является TextHitInfo и равен этому TextHitInfo.equals
public boolean equals(TextHitInfo hitInfo)
true, если указанный TextHitInfo имеет те же charIndex и isLeadingEdge, что и этот TextHitInfo. Это не то же самое, что иметь одинаковое смещение вставки.- Параметры:
-
hitInfo— указанныйTextHitInfo - Возвращает:
-
true, если указанныйTextHitInfoимеет те жеcharIndexиisLeadingEdge, что и этотTextHitInfo.
toString
leading
public static TextHitInfo leading(int charIndex)
TextHitInfo на начальном крае символа с указанным charIndex.- Параметры:
-
charIndex— индекс затронутого символа - Возвращает:
TextHitInfoна начальном крае символа с указаннымcharIndex.
trailing
public static TextHitInfo trailing(int charIndex)
charIndex.- Параметры:
-
charIndex— индекс затронутого символа - Возвращает:
TextHitInfoна конечном крае символа с указаннымcharIndex.
beforeOffset
public static TextHitInfo beforeOffset(int offset)
TextHitInfo с указанным смещением, связанный с символом перед смещением.- Параметры:
-
offset— смещение, связанное с символом перед этим смещением - Возвращает:
TextHitInfoс указанным смещением.
afterOffset
public static TextHitInfo afterOffset(int offset)
TextHitInfo с указанным смещением, связанный с символом после смещения.- Параметры:
-
offset— смещение, связанное с символом после этого смещения - Возвращает:
TextHitInfoс указанным смещением.
getOtherHit
public TextHitInfo getOtherHit()
TextHitInfo на другой стороне точки вставки. Этот TextHitInfo остается неизменным.- Возвращает:
TextHitInfoна другой стороне точки вставки.
getOffsetHit
public TextHitInfo getOffsetHit(int delta)
TextHitInfo, индекс символа которого смещен на delta относительно charIndex этого TextHitInfo. Этот TextHitInfo остается неизменным.- Параметры:
-
delta— значение, на которое нужно сместить этотcharIndex - Возвращает:
TextHitInfo,charIndexкоторого смещен наdeltaотносительноcharIndexэтогоTextHitInfo.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/font/TextHitInfo.html