Spec-Zone.ru › OpenJDK 25

Класс 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.

Методы, объявленные в классе 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, который также является charIndex этого TextHitInfo.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(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 относительно charIndex этого TextHitInfo. Этот TextHitInfo остается неизменным.
Параметры:
delta — значение, на которое нужно сместить этот charIndex
Возвращает:
TextHitInfo, charIndex которого смещен на delta относительно charIndex этого TextHitInfo.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/font/TextHitInfo.html

Spec-Zone.ru

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