Spec-Zone.ru › OpenJDK 21

Класс 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()
Создаёт попадание на другой стороне точки вставки. Это попадание остаётся неизменным.
Возвращает:
попадание на другой стороне точки вставки.

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

Spec-Zone.ru

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