Класс 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
public int hashCode()
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- хэш-код этого
TextHitInfo, который также является хэш-кодом этогоTextHitInfo. - См. также:
equals
public boolean equals(Object obj)
true если указанный Object является TextHitInfo и равен этому TextHitInfo.- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- указанныйObjectдля проверки на равенство - Возвращает:
-
trueесли указанныйObjectравен этомуTextHitInfo;falseв противном случае. - См. также:
equals
public boolean equals(TextHitInfo hitInfo)
true если указанный TextHitInfo имеет те же charIndex и isLeadingEdge что и этот TextHitInfo. Это не то же самое, что иметь тот же смещение вставки.- Параметры:
-
hitInfo- указанныйTextHitInfo - Возвращает:
-
trueесли указанныйTextHitInfoимеет те жеcharIndexиisLeadingEdgeчто и этотTextHitInfo.
toString
public String toString()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этого
TextHitInfo.
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()
- Возвращает:
- попадание на другой стороне точки вставки.
getOffsetHit
public TextHitInfo getOffsetHit(int delta)
delta от charIndex этого TextHitInfo. Это попадание остаётся неизменным.- Параметры:
-
delta- значение для смещения этогоcharIndex - Возвращает:
- попадание, чьё
charIndexсмещено наdeltaотcharIndexэтогоTextHitInfo.
© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/font/TextHitInfo.html