Интерфейс InputMethodRequests
- Все известные подинтерфейсы:
InputMethodContext
public interface InputMethodRequests
Компонент редактирования текста также должен предоставить слушатель событий метода ввода.
Интерфейс предназначен для поддержки одного из двух пользовательских интерфейсов ввода:
- непосредственный ввод, где составленный текст отображается как часть текста компонента.
- вне зоны ввода ввод, где составленный текст отображается в отдельном окне композиции непосредственно под точкой вставки, куда текст будет вставлен при подтверждении. Обратите внимание, что если текст выбран в теле текста компонента, этот текст будет заменён подтверждённым текстом при подтверждении; следовательно, он не считается частью контекста, в который вводится текст.
- С:
- 1.2
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
AttributedCharacterIterator |
cancelLatestCommittedText |
Получает последний подтверждённый текст из компонента редактирования текста и удаляет его из тела текста компонента. |
AttributedCharacterIterator |
getCommittedText |
Получает итератор, предоставляющий доступ ко всему тексту и атрибутам, содержащимся в компоненте редактирования текста, за исключением неподтверждённого текста. |
int |
getCommittedTextLength() |
Получает длину всего текста, содержащегося в компоненте редактирования текста, за исключением неподтверждённого (составленного) текста. |
int |
getInsertPositionOffset() |
Получает смещение позиции вставки в подтверждённый текст, содержащийся в компоненте редактирования текста. |
TextHitInfo |
getLocationOffset |
Получает смещение в составленном тексте для указанных абсолютных координат x и y на экране. |
AttributedCharacterIterator |
getSelectedText |
Получает текущий выделенный текст из компонента редактирования текста. |
Rectangle |
getTextLocation |
Получает расположение указанного смещения в текущем составленном тексте или выделения в подтверждённом тексте. |
Подробное описание методов
getTextLocation
Rectangle getTextLocation(TextHitInfo offset)
Если компонент содержит составленный текст (потому что в него был отправлен последний InputMethodEvent, содержащий составленный текст), то смещение относится к составленному тексту — смещение 0 указывает на первый символ в составленном тексте. Возвращаемое расположение должно быть для этого символа.
Если компонент не содержит составленного текста, смещение должно быть проигнорировано, и возвращаемое расположение должно отражать начало (в направлении строки) выделения в последней строке, содержащей выделенный текст. Например, для горизонтального текста слева направо (например, английский) возвращается расположение слева от самого левого символа в последней строке, содержащей выделенный текст. Для вертикального текста сверху вниз, с линиями, идущими справа налево, возвращается расположение над самой левой линией, содержащей выделенный текст.
Расположение представлено как маркер с толщиной 0, то есть он имеет ширину 0, если текст отображается горизонтально, и высоту 0, если текст отображается вертикально. Другие ориентации текста должны быть отображены в горизонтальной или вертикальной ориентации. Прямоугольник использует абсолютные координаты экрана.
- Параметры:
-
offset- смещение в составленном тексте, если есть составленный текст; null в противном случае - Возвращает:
- прямоугольник, представляющий экранное расположение смещения
getLocationOffset
TextHitInfo getLocationOffset(int x, int y)
Вернуть 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)
В целом, эта функция должна поддерживаться только сразу после подтверждения текста, а не после выполнения пользователем других операций над текстом. Когда функция не поддерживается, возвращается null.
Метод ввода может предоставить список атрибутов, которые его интересуют. В этом случае информация об атрибутах, которые может потребоваться реализатору, не должна быть доступна через итератор. Если список равен null, вся доступная информация об атрибутах должна быть доступна.
- Параметры:
-
attributes- список атрибутов, которые интересуют метод ввода - Возвращает:
- последний подтверждённый текст или null, когда функция «Отмена подтверждения» не поддерживается
getSelectedText
AttributedCharacterIterator getSelectedText(AttributedCharacterIterator.Attribute[] attributes)
Метод ввода может предоставить список атрибутов, которые его интересуют. В этом случае информация об атрибутах, которые может потребоваться реализатору, не должна быть доступна через итератор. Если список равен null, вся доступная информация об атрибутах должна быть доступна.
- Параметры:
-
attributes- список атрибутов, которые интересуют метод ввода - Возвращает:
- текущий выделенный текст
© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/im/InputMethodRequests.html