Spec-Zone.ru › OpenJDK 17

Интерфейс InputMethodRequests

Все известные подинтерфейсы:
InputMethodContext
public interface InputMethodRequests
InputMethodRequests определяет запросы, которые должен обрабатывать компонент редактирования текста для работы с методами ввода. Компонент может сам реализовать этот интерфейс или использовать отдельный объект, реализующий его. Объект, реализующий этот интерфейс, должен возвращаться методом getInputMethodRequests компонента.

Компонент редактирования текста также должен предоставить слушатель событий метода ввода.

Интерфейс предназначен для поддержки одного из двух пользовательских интерфейсов ввода:

  • ввод на месте, где составленный текст отображается как часть тела текста компонента.
  • ввод под местом, где составленный текст отображается в отдельном окне составления непосредственно под точкой вставки, где текст будет вставлен при подтверждении. Обратите внимание, что если в теле текста компонента выделен текст, этот текст будет заменён подтверждённым текстом при подтверждении; поэтому он не считается частью контекста, в который вводится текст.
С момента:
1.2
См. также:
  • Component.getInputMethodRequests()
  • InputMethodListener

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

Модификатор и тип Метод Описание
AttributedCharacterIterator cancelLatestCommittedText(AttributedCharacterIterator.Attribute[] attributes)
Получает последний подтверждённый текст из компонента редактирования текста и удаляет его из тела текста компонента.
AttributedCharacterIterator getCommittedText(int beginIndex, int endIndex, AttributedCharacterIterator.Attribute[] attributes)
Получает итератор, обеспечивающий доступ к всему тексту и атрибутам, содержащимся в компоненте редактирования текста, за исключением неподтверждённого текста.
int getCommittedTextLength()
Получает длину всего текста, содержащегося в компоненте редактирования текста, за исключением неподтверждённого (составленного) текста.
int getInsertPositionOffset()
Получает смещение позиции вставки в подтверждённом тексте, содержащемся в компоненте редактирования текста.
TextHitInfo getLocationOffset(int x, int y)
Получает смещение в составленном тексте для заданных абсолютных координат x и y на экране.
AttributedCharacterIterator getSelectedText(AttributedCharacterIterator.Attribute[] attributes)
Получает текущий выделенный текст из компонента редактирования текста.
Rectangle getTextLocation(TextHitInfo offset)
Получает расположение заданного смещения в текущем составленном тексте или выделении в подтверждённом тексте.

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

getTextLocation

Rectangle getTextLocation(TextHitInfo offset)
Получает расположение заданного смещения в текущем составленном тексте или выделении в подтверждённом тексте. Эта информация используется, например, для позиционирования окна кандидатов рядом с составленным текстом или окна составления рядом с местом вставки подтверждённого текста.

Если компонент имеет составленный текст (потому что последний отправленный ему InputMethodEvent содержал составленный текст), то смещение относится к составленному тексту — смещение 0 указывает на первый символ в составленном тексте. Возвращаемое расположение должно быть для этого символа.

Если компонент не имеет составленного текста, смещение игнорируется, и возвращаемое расположение должно отражать начало (в направлении строки) выделения в последней строке, содержащей выделенный текст. Например, для горизонтального текста слева направо (например, английского) возвращается расположение слева от самого левого символа в последней строке, содержащей выделенный текст. Для вертикального текста сверху вниз, с линиями, идущими справа налево, возвращается расположение сверху от самого левого символа в последней строке, содержащей выделенный текст.

Расположение представляется в виде символа-курсора толщиной 0, то есть, он имеет ширину 0, если текст отображается горизонтально, и высоту 0, если текст отображается вертикально. Другие ориентации текста необходимо отображать в горизонтальной или вертикальной ориентации. Прямоугольник использует абсолютные координаты экрана.

Параметры:
offset - смещение в составленном тексте, если составленный текст есть; иначе null
Возвращает:
прямоугольник, представляющий экранное расположение смещения

getLocationOffset

TextHitInfo getLocationOffset(int x, int y)
Получает смещение в составленном тексте для заданных абсолютных координат x и y на экране. Эта информация используется, например, для обработки щелчков мышью и курсора мыши. Смещение относится к составленному тексту, так что смещение 0 указывает на начало составленного текста.

Возвращает null, если расположение находится за пределами области, занимаемой составленным текстом.

Параметры:
x - абсолютная координата x на экране
y - абсолютная координата y на экране
Возвращает:
информацию о текстовой метке, описывающую смещение в составленном тексте.

getInsertPositionOffset

int getInsertPositionOffset()
Получает смещение позиции вставки в подтверждённом тексте, содержащемся в компоненте редактирования текста. Это смещение, в котором вставляются символы, введённые через метод ввода. Эта информация используется методом ввода, например, для анализа текста, окружающего позицию вставки.
Возвращает:
смещение позиции вставки

getCommittedText

AttributedCharacterIterator getCommittedText(int beginIndex, int endIndex, AttributedCharacterIterator.Attribute[] attributes)
Получает итератор, обеспечивающий доступ ко всему тексту и атрибутам, содержащимся в компоненте редактирования текста, за исключением неподтверждённого текста. Неподтверждённый (составленный) текст следует игнорировать для вычисления индексов и не должен быть доступен через итератор.

Метод ввода может предоставить список атрибутов, которые его интересуют. В этом случае информация об остальных атрибутах, которые может потребоваться реализовать, не должна быть доступна через итератор. Если список null, должна быть доступна вся информация об атрибутах.

Параметры:
beginIndex - индекс первого символа
endIndex - индекс символа, следующего за последним символом
attributes - список атрибутов, которые интересуют метод ввода
Возвращает:
итератор, обеспечивающий доступ к тексту и его атрибутам

getCommittedTextLength

int getCommittedTextLength()
Получает длину всего текста, содержащегося в компоненте редактирования текста, за исключением неподтверждённого (составленного) текста.
Возвращает:
длину текста, за исключением неподтверждённого текста

cancelLatestCommittedText

AttributedCharacterIterator cancelLatestCommittedText(AttributedCharacterIterator.Attribute[] attributes)
Получает последний подтверждённый текст из компонента редактирования текста и удаляет его из тела текста компонента. Это используется для функции «Отмена подтверждения» в некоторых методах ввода, где подтверждённый текст возвращается к предыдущему состоянию составления. Составленный текст будет отправлен компоненту с помощью InputMethodEvent.

Как правило, эта функция должна поддерживаться только сразу после подтверждения текста, а не после того, как пользователь выполнил другие операции с текстом. Если функция не поддерживается, возвращается null.

Метод ввода может предоставить список атрибутов, которые его интересуют. В этом случае информация об остальных атрибутах, которые может потребоваться реализовать, не должна быть доступна через итератор. Если список null, должна быть доступна вся информация об атрибутах.

Параметры:
attributes - список атрибутов, которые интересуют метод ввода
Возвращает:
последний подтверждённый текст или null, когда функция «Отмена подтверждения» не поддерживается

getSelectedText

AttributedCharacterIterator getSelectedText(AttributedCharacterIterator.Attribute[] attributes)
Получает текущий выделенный текст из компонента редактирования текста. Это может использоваться для различных целей. Одна из них — функция «Преобразовать» в некоторых методах ввода. В этом случае метод ввода обычно отправляет событие метода ввода для замены выделенного текста составленным текстом. В зависимости от возможностей метода ввода, это может быть исходный составленный текст для выделенного текста, последний составленный текст, введённый где-либо в тексте, или версия текста, преобразованная обратно из выделенного текста.

Метод ввода может предоставить список атрибутов, которые его интересуют. В этом случае информация об остальных атрибутах, которые может потребоваться реализовать, не должна быть доступна через итератор. Если список null, должна быть доступна вся информация об атрибутах.

Параметры:
attributes - список атрибутов, которые интересуют метод ввода
Возвращает:
текущий выделенный текст

© 1993, 2021, 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/17/docs/api/java.desktop/java/awt/im/InputMethodRequests.html

Spec-Zone.ru

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