Spec-Zone.ru › OpenJDK 25

Интерфейс 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 указывает на первый символ составляемого текста. Возвращаемое местоположение должно соответствовать этому символу.

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

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

Параметры:
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 — список атрибутов, интересующих метод ввода
Возвращает:
текущий выделенный текст

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/im/InputMethodRequests.html

Spec-Zone.ru

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