Интерфейс InputMethod
public interface InputMethod
Подклассы InputMethod могут загружаться фреймворком методов ввода; затем их можно выбрать либо через API (InputContext.selectInputMethod), либо через пользовательский интерфейс (меню выбора метода ввода).
- Since:
- 1.3
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
activate() |
Активирует метод ввода для немедленной обработки ввода. |
void |
deactivate |
Деактивирует метод ввода. |
void |
dispatchEvent |
Передает событие методу ввода. |
void |
dispose() |
Освобождает ресурсы, используемые этим методом ввода. |
void |
endComposition() |
Завершает любой процесс составления ввода, который может в данный момент происходить в этом контексте. |
Object |
getControlObject() |
Возвращает объект управления от этого метода ввода или null. |
Locale |
getLocale() |
Возвращает текущий язык ввода. |
void |
hideWindows() |
Закрывает или скрывает все окна, открытые этой экземпляром метода ввода или его классом. |
boolean |
isCompositionEnabled() |
Определяет, включен ли этот метод ввода. |
void |
notifyClientWindowChange |
Уведомляет этот метод ввода об изменениях в местоположении или состоянии клиентского окна. |
void |
reconvert() |
Запускает операцию преобразования. |
void |
removeNotify() |
Уведомляет метод ввода о том, что компонент клиента был удален из его иерархии контейнеров или что поддержка метода ввода была отключена для компонента. |
void |
setCharacterSubsets |
Устанавливает подмножества набора символов Unicode, которые этот метод ввода разрешено вводить. |
void |
setCompositionEnabled |
Включает или отключает этот метод ввода для составления, в зависимости от значения параметра enable. |
void |
setInputMethodContext |
Устанавливает контекст метода ввода, который используется для передачи событий метода ввода клиенту-компоненту и для запроса информации у клиента-компонента. |
boolean |
setLocale |
Пытается установить язык ввода. |
Подробное описание методов
setInputMethodContext
void setInputMethodContext(InputMethodContext context)
Этот метод вызывается один раз сразу после создания этого метода ввода.
- Параметры:
-
context- контекст метода ввода для этого метода ввода - Исключения:
-
NullPointerException- еслиcontextравно null
setLocale
boolean setLocale(Locale locale)
Этот метод вызывается
- методом
InputContext.selectInputMethod, - при переключении на этот метод ввода через пользовательский интерфейс, если пользователь указал локаль, или если метод
getLocaleранее выбранного метода ввода возвращает значение, отличное от null.
- Параметры:
-
locale- локаль для ввода - Возвращает:
- поддерживается ли указанная локаль
- Исключения:
-
NullPointerException- еслиlocaleравно null
getLocale
Locale getLocale()
Этот метод вызывается
- методом
InputContext.getLocaleи - при переключении с этого метода ввода на другой через пользовательский интерфейс.
- Возвращает:
- текущую локаль ввода или null
setCharacterSubsets
void setCharacterSubsets(Character.Subset[] subsets)
Этот метод вызывается
- сразу после создания этого метода ввода,
- при переключении на этот метод ввода с другого, и
- методом
InputContext.setCharacterSubsets.
- Параметры:
-
subsets- подмножества набора символов Unicode, из которых могут вводиться символы
setCompositionEnabled
void setCompositionEnabled(boolean enable)
enable. Метод ввода, включенный для составления, интерпретирует входящие события для составления и управления, а отключенный метод ввода не интерпретирует события для составления. Тем не менее, события передаются методу ввода независимо от того, включен он или нет, и отключенный метод ввода для составления все еще может интерпретировать события для управления, включая включение или отключение себя для составления.
Для методов ввода, предоставляемых операционными системами, не всегда возможно определить, поддерживается ли эта операция. Например, метод ввода может включать составление только для некоторых локалей и не делать ничего для других локалей. Для таких методов ввода возможно, что этот метод не выбросит UnsupportedOperationException, но также не повлияет на то, включено ли составление.
Этот метод вызывается
- методом
InputContext.setCompositionEnabled, - при переключении на этот метод ввода с другого с помощью пользовательского интерфейса или
InputContext.selectInputMethod, если методisCompositionEnabledранее выбранного метода ввода возвращает значение без выброса исключения.
- Параметры:
-
enable- включить ли метод ввода для составления - Исключения:
-
UnsupportedOperationException- если этот метод ввода не поддерживает операцию включения/отключения - См. также:
isCompositionEnabled
boolean isCompositionEnabled()
Этот метод вызывается
- методом
InputContext.isCompositionEnabledи - при переключении с этого метода ввода на другой с помощью пользовательского интерфейса или
InputContext.selectInputMethod.
- Возвращает:
-
true, если этот метод ввода включен для составления;falseв противном случае. - Исключения:
-
UnsupportedOperationException- если этот метод ввода не поддерживает проверку, включен ли он для составления - См. также:
reconvert
void reconvert()
InputMethodRequests.getSelectedText. Он может использовать другие InputMethodRequests методы для запроса дополнительной информации, необходимой для операции повторного преобразования. Преобразованный и подтвержденный текст, созданный операцией, отправляется клиенту в виде последовательности InputMethodEvent. Если данный текст не может быть преобразован повторно, тот же текст должен быть отправлен клиенту как подтвержденный текст. Этот метод вызывается методом InputContext.reconvert.
- Исключения:
-
UnsupportedOperationException- если метод ввода не поддерживает операцию повторного преобразования.
dispatchEvent
void dispatchEvent(AWTEvent event)
consume события; это заставляет событие не отправляться методам обработки событий или обработчикам событий компонента. События отправляются, если они являются экземплярами InputEvent или его подклассов. Это включает экземпляры классов AWT KeyEvent и MouseEvent.
Этот метод вызывается методом InputContext.dispatchEvent.
- Параметры:
-
event- событие, отправляемое методу ввода - Исключения:
-
NullPointerException- еслиeventравно null
notifyClientWindowChange
void notifyClientWindowChange(Rectangle bounds)
InputMethodContext.enableClientWindowNotification). Вызовы этого метода временно приостанавливаются, если метод removeNotify контекста ввода вызывается, и возобновляются, когда метод ввода активируется для нового клиентского компонента. Он вызывается в следующих ситуациях: - при изменении местоположения, размера, видимости, состояния иконного режима или закрытии окна, содержащего текущий клиентский компонент.
- методом
enableClientWindowNotification(inputMethod, true), если текущий клиентский компонент существует, - при активации метода ввода в первый раз после вызова метода
enableClientWindowNotification(inputMethod, true), если во время вызова доступного текущего клиентского компонента не было, - при активации метода ввода для нового клиентского компонента после вызова метода removeNotify контекста ввода.
- Параметры:
-
bounds-boundsклиентского окна на экране; или null, если клиентское окно свёрнуто или невидимо
activate
void activate()
Если метод ввода предоставляет собственные окна, он должен убедиться на этом этапе, что все необходимые окна открыты и видны.
Этот метод вызывается
- методом
InputContext.dispatchEventпри получении клиентским компонентом события FOCUS_GAINED, - при переключении на этот метод ввода с другого с помощью пользовательского интерфейса или
InputContext.selectInputMethod.
deactivate
void deactivate(boolean isTemporary)
FocusEvent.isTemporary. Если метод ввода предоставляет собственные окна, в этот момент должны закрываться только окна, относящиеся к текущему составу (например, окно выбора поиска). Возможно, что метод ввода будет немедленно активирован снова для другого клиентского компонента, и закрытие и повторное открытие более постоянных окон (например, панели управления) приведет к ненужной мерцанию экрана. Перед активацией экземпляра класса другого метода ввода, метод hideWindows() вызывается на текущем методе ввода.
Этот метод вызывается
- методом
InputContext.dispatchEvent, когда клиентский компонент получает событие FOCUS_LOST, - при переключении с этого метода ввода на другой с помощью пользовательского интерфейса или
InputContext.selectInputMethod, - перед
removeNotify, если текущий клиентский компонент удален.
- Параметры:
-
isTemporary- является ли изменение фокуса временным
hideWindows
removeNotify
void removeNotify()
Этот метод вызывается InputContext.removeNotify.
Метод вызывается только когда метод ввода неактивен.
endComposition
void endComposition()
Компонент редактирования текста может вызывать этот метод в различных ситуациях, например, при перемещении точки вставки внутри текста (но вне составленного текста) или при сохранении текста компонента в файл или копировании в буфер обмена.
Этот метод вызывается
- методом
InputContext.endComposition, - методом
InputContext.dispatchEventпри переключении на другой клиентский компонент, - при переключении с этого метода ввода на другой с помощью пользовательского интерфейса или
InputContext.selectInputMethod.
dispose
void dispose()
Этот метод вызывается InputContext.dispose.
Метод вызывается только когда метод ввода неактивен. Ни один метод этого интерфейса не вызывается на этом экземпляре после dispose.
getControlObject
Object getControlObject()
Этот метод вызывается InputContext.getInputMethodControlObject.
- Возвращает:
- объект управления из этого метода ввода или null
© 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/spi/InputMethod.html