Интерфейс InputMethodContext
- Все суперинтерфейсы:
InputMethodRequests
public interface InputMethodContext extends InputMethodRequests
Предоставляет методы, которые методы ввода могут использовать для связи со своими клиентскими компонентами или для запроса других услуг. Этот интерфейс реализуется фреймворком методов ввода, и методы ввода вызывают его методы на экземпляре, который они получают через InputMethod.setInputMethodContext(java.awt.im.spi.InputMethodContext). Не должно быть других реализаторов или вызывающих сторон.
- С:
- 1.3
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
JFrame | createInputMethodJFrame(String title,
boolean attachToInputContext) | Создает верхний фрейм Swing JFrame для использования методом ввода. |
Window | createInputMethodWindow(String title,
boolean attachToInputContext) | Создаёт верхнее окно для использования методом ввода. |
void | dispatchInputMethodEvent(int id,
AttributedCharacterIterator text,
int committedCharacterCount,
TextHitInfo caret,
TextHitInfo visiblePosition) | Создаёт событие метода ввода из предоставленных аргументов и отправляет его клиенту. |
void | enableClientWindowNotification(InputMethod inputMethod,
boolean enable) | Включает или отключает уведомления о местоположении и состоянии текущего клиентского окна для указанного метода ввода. |
Методы, объявленные в интерфейсе java.awt.im.InputMethodRequests
cancelLatestCommittedText, getCommittedText, getCommittedTextLength, getInsertPositionOffset, getLocationOffset, getSelectedText, getTextLocationМетоды
dispatchInputMethodEvent
void dispatchInputMethodEvent(int id,
AttributedCharacterIterator text,
int committedCharacterCount,
TextHitInfo caret,
TextHitInfo visiblePosition)Создаёт событие метода ввода из предоставленных аргументов и отправляет его клиенту. Для аргументов см. InputMethodEvent(java.awt.Component, int, java.awt.font.TextHitInfo, java.awt.font.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)Создаёт верхний Swing JFrame для использования методом ввода. Предполагаемое поведение этого окна:
- он плавает над всеми документами и диалогами
- он и все компоненты, которые он содержит, не получают фокус
- он имеет легкие украшения, такие как уменьшенная область перетаскивания без заголовка
Однако фактическое поведение по этим трём пунктам зависит от платформы.
Заголовок может или не может отображаться, в зависимости от фактического типа созданного окна.
Если 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, 2020, 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/11/docs/api/java.desktop/java/awt/im/spi/InputMethodContext.html