Класс 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 от индекса символа этого 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()

Возвращает String, представляющий удар, только для отладки.

Переопределяет:
toString в классе Object
Возвращает:
String представляющий этот TextHitInfo.

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 от индекса символа этого TextHitInfo.

Параметры:
delta - значение смещения этого charIndex
Возвращает:
TextHitInfo с индексом символа, смещённым на delta от индекса символа этого TextHitInfo.

© 1993, 2020, 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/11/docs/api/java.desktop/java/awt/font/TextHitInfo.html

Spec-Zone .ru
спецификации, руководства, описания, API