Интерфейс InputMethodContext
- Все суперинтерфейсы:
InputMethodRequests
public interface InputMethodContext extends InputMethodRequests
InputMethod.setInputMethodContext(InputMethodContext). Других реализаций и вызывающих сторон быть не должно.- С версии:
- 1.3
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
JFrame |
createInputMethodJFrame |
Создает JFrame верхнего уровня Swing для использования методом ввода. |
Window |
createInputMethodWindow |
Создает окно верхнего уровня для использования методом ввода. |
void |
dispatchInputMethodEvent |
Создает событие метода ввода из переданных аргументов и отправляет его клиентскому компоненту. |
void |
enableClientWindowNotification |
Включает или отключает уведомления о расположении и состоянии текущего клиентского окна для указанного метода ввода. |
Методы, объявленные в интерфейсе InputMethodRequests
cancelLatestCommittedText, getCommittedText, getCommittedTextLength, getInsertPositionOffset, getLocationOffset, getSelectedText, getTextLocation | Модификатор и тип | Метод | Описание |
|---|---|---|
AttributedCharacterIterator |
cancelLatestCommittedText |
Получает последний зафиксированный текст из компонента редактирования текста и удаляет его из текстового содержимого компонента. |
AttributedCharacterIterator |
getCommittedText |
Получает итератор для доступа ко всему тексту и атрибутам компонента редактирования текста, за исключением незафиксированного текста. |
int |
getCommittedTextLength() |
Получает длину всего текста компонента редактирования текста, за исключением незафиксированного (составляемого) текста. |
int |
getInsertPositionOffset() |
Получает смещение позиции вставки в зафиксированном тексте компонента редактирования текста. |
TextHitInfo |
getLocationOffset |
Получает смещение внутри составляемого текста для указанных абсолютных координат x и y на экране. |
AttributedCharacterIterator |
getSelectedText |
Получает текущий выделенный текст из компонента редактирования текста. |
Rectangle |
getTextLocation |
Получает расположение указанного смещения в текущем составляемом тексте или выделения в зафиксированном тексте. |
Подробное описание методов
dispatchInputMethodEvent
void dispatchInputMethodEvent(int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)
InputMethodEvent(Component, int, TextHitInfo, TextHitInfo).- Параметры:
-
id— тип события -
text— объединенный зафиксированный и составляемый текст -
committedCharacterCount— количество зафиксированных символов в тексте -
caret— каретка (также известная как позиция вставки); null, если в текущем составляемом тексте нет каретки -
visiblePosition— позиция, которую наиболее важно сделать видимой; null, если для видимой позиции в текущем составляемом тексте нет рекомендаций
createInputMethodWindow
Window createInputMethodWindow(String title, boolean attachToInputContext)
- оно находится поверх всех окон документов и диалоговых окон
- оно и все содержащиеся в нем компоненты не получают фокус
- оно имеет облегченные элементы оформления, например уменьшенную область перетаскивания без заголовка
Заголовок может отображаться или не отображаться в зависимости от фактического типа созданного окна.
Если attachToInputContext имеет значение true, новое окно будет использовать тот же контекст ввода, что и данный контекст метода ввода, поэтому события для компонентов окна будут автоматически отправляться методу ввода. Кроме того, при открытии окна с помощью setVisible(true) контекст ввода предотвратит вызовы deactivate и activate метода ввода, которые в противном случае могли бы произойти.
Когда возвращенное окно метода ввода больше не требуется, методы ввода должны вызвать для него Window.dispose.
- Параметры:
-
title— заголовок, отображаемый в строке заголовка окна, если такая строка есть. Значениеnullрассматривается как пустая строка, "". -
attachToInputContext— следует ли этому окну использовать общий контекст ввода, соответствующий данному контексту метода ввода - Возвращает:
- окно с особыми характеристиками для использования методами ввода
- Вызывает исключение:
-
HeadlessException— еслиGraphicsEnvironment.isHeadlessвозвращаетtrue
createInputMethodJFrame
JFrame createInputMethodJFrame(String title, boolean attachToInputContext)
- оно находится поверх всех окон документов и диалоговых окон
- оно и все содержащиеся в нем компоненты не получают фокус
- оно имеет облегченные элементы оформления, например уменьшенную область перетаскивания без заголовка
Заголовок может отображаться или не отображаться в зависимости от фактического типа созданного окна.
Если attachToInputContext имеет значение true, новое окно будет использовать тот же контекст ввода, что и данный контекст метода ввода, поэтому события для компонентов окна будут автоматически отправляться методу ввода. Кроме того, при открытии окна с помощью setVisible(true) контекст ввода предотвратит вызовы deactivate и activate метода ввода, которые в противном случае могли бы произойти.
Когда возвращенное окно метода ввода больше не требуется, методы ввода должны вызвать для него Window.dispose.
- Параметры:
-
title— заголовок, отображаемый в строке заголовка окна, если такая строка есть. Значениеnullрассматривается как пустая строка, "". -
attachToInputContext— следует ли этому окну использовать общий контекст ввода, соответствующий данному контексту метода ввода - Возвращает:
- JFrame с особыми характеристиками для использования методами ввода
- Вызывает исключение:
-
HeadlessException— еслиGraphicsEnvironment.isHeadlessвозвращаетtrue - С версии:
- 1.4
enableClientWindowNotification
void enableClientWindowNotification(InputMethod inputMethod, boolean enable)
notifyClientWindowChange метода ввода, как описано в его спецификации. Уведомления автоматически отключаются при уничтожении метода ввода.- Параметры:
-
inputMethod— метод ввода, для которого включаются или отключаются уведомления -
enable— true для включения, false для отключения
© 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.