Spec-Zone.ru › OpenJDK 24

Класс TextHitInfo

java.lang.Object
java.awt.font.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
 
См. также:
  • TextLayout

Краткое описание методов

Модификатор и тип Метод Описание
static TextHitInfo afterOffset(int offset)
Создает TextHitInfo в указанном смещении, связанном с символом после смещения.
static TextHitInfo beforeOffset(int offset)
Создает TextHitInfo в указанном смещении, связанном с символом перед смещением.
boolean equals(TextHitInfo hitInfo)
Возвращает true, если указанный TextHitInfo имеет такое же charIndex и isLeadingEdge, как у этого TextHitInfo.
boolean equals(Object obj)
Возвращает true, если указанный Object является TextHitInfo и равен этому TextHitInfo.
int getCharIndex()
Возвращает индекс символа, на который попали.
int getInsertionIndex()
Возвращает индекс вставки.
TextHitInfo getOffsetHit(int delta)
Создает TextHitInfo, индекс символа которого смещен на delta от charIndex этого TextHitInfo.
TextHitInfo getOtherHit()
Создает TextHitInfo на другой стороне точки вставки.
int hashCode()
Возвращает хэш-код.
boolean isLeadingEdge()
Возвращает true, если был задет ведущий край символа.
static TextHitInfo leading(int charIndex)
Создает TextHitInfo на ведущем краю символа в указанном charIndex.
String toString()
Возвращает String, представляющий попадание для отладки.
static TextHitInfo trailing(int charIndex)
Создает попадание на завершающем краю символа в указанном charIndex.

Методы, унаследованные от класса java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание методов

getCharIndex

public int getCharIndex()
Возвращает индекс символа, по которому произошел удар.
Возвращает:
индекс символа, по которому произошел удар.

isLeadingEdge

public boolean isLeadingEdge()
Возвращает true, если был нажат ведущий край символа.
Возвращает:
true, если был нажат ведущий край символа; false в противном случае.

getInsertionIndex

public int getInsertionIndex()
Возвращает индекс вставки. Это индекс символа, если был нажат ведущий край символа, и на один больше индекса символа, если был нажат хвостовой край.
Возвращает:
индекс вставки.

hashCode

public int hashCode()
Возвращает хэш-код.
Переопределяет:
hashCode в классе Object
Возвращает:
хэш-код этого TextHitInfo, который также является хэш-кодом этого TextHitInfo.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

equals

public boolean equals(Object obj)
Возвращает true, если указанный Object является объектом типа TextHitInfo и равен этому TextHitInfo.
Переопределяет:
equals в классе Object
Параметры:
obj - объект Object для проверки на равенство
Возвращает:
true, если указанный объект Object равен этому объекту TextHitInfo; false в противном случае.
См. также:
  • Object.hashCode()
  • HashMap

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()
Создаёт удар на другой стороне точки вставки. Этот 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API