Класс 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. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения определенного времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения определенного времени. |
Подробное описание методов
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.