Интерфейс 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- подмножества набора символов Юникод, из которых можно вводить символы
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, если текущий клиентский компонент удален.
- Parameters:
-
isTemporary- указывает, является ли изменение фокуса временным
hideWindows
void 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.
- Returns:
- объект управления из этого метода ввода или null
© 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/spi/InputMethod.html