Класс 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)
charIndex.- Параметры:
-
charIndex- индекс символа, по которому произошел удар - Возвращает:
- удар на ведущем крае символа по указанному
charIndex.
trailing
public static TextHitInfo trailing(int charIndex)
charIndex.- Параметры:
-
charIndex- индекс символа, по которому произошел удар - Возвращает:
- удар на хвостовом крае символа по указанному
charIndex.
beforeOffset
public static TextHitInfo beforeOffset(int offset)
- Параметры:
-
offset- смещение, связанное с символом перед смещением - Возвращает:
- удар по указанному смещению.
afterOffset
public static TextHitInfo afterOffset(int offset)
- Параметры:
-
offset- смещение, связанное с символом после смещения - Возвращает:
- удар по указанному смещению.
getOtherHit
public TextHitInfo getOtherHit()
TextHitInfo остаётся неизменным.- Возвращает:
- удар на другой стороне точки вставки.
getOffsetHit
public TextHitInfo getOffsetHit(int delta)
delta от charIndex этого TextHitInfo. Этот TextHitInfo остаётся неизменным.- Параметры:
-
delta- значение смещения для этого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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/font/TextHitInfo.html