Spec-Zone.ru › OpenJDK 27

Интерфейс InputMethodContext

Все суперинтерфейсы:
InputMethodRequests
public interface InputMethodContext extends InputMethodRequests
Предоставляет методы, которые методы ввода могут использовать для взаимодействия со своими клиентскими компонентами или для запроса других служб. Этот интерфейс реализуется платформой методов ввода, а методы ввода вызывают его методы для экземпляра, полученного через InputMethod.setInputMethodContext(InputMethodContext). Других реализаций и вызывающих сторон быть не должно.
С версии:
1.3

Краткое описание методов

Модификатор и тип Метод Описание
JFrame createInputMethodJFrame(String title, boolean attachToInputContext)
Создает JFrame верхнего уровня Swing для использования методом ввода.
Window createInputMethodWindow(String title, boolean attachToInputContext)
Создает окно верхнего уровня для использования методом ввода.
void dispatchInputMethodEvent(int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)
Создает событие метода ввода из переданных аргументов и отправляет его клиентскому компоненту.
void enableClientWindowNotification(InputMethod inputMethod, boolean enable)
Включает или отключает уведомления о расположении и состоянии текущего клиентского окна для указанного метода ввода.

Методы, объявленные в интерфейсе InputMethodRequests

cancelLatestCommittedText, getCommittedText, getCommittedTextLength, getInsertPositionOffset, getLocationOffset, getSelectedText, getTextLocation
Модификатор и тип Метод Описание
AttributedCharacterIterator cancelLatestCommittedText(AttributedCharacterIterator.Attribute[] attributes)
Получает последний зафиксированный текст из компонента редактирования текста и удаляет его из текстового содержимого компонента.
AttributedCharacterIterator getCommittedText(int beginIndex, int endIndex, AttributedCharacterIterator.Attribute[] attributes)
Получает итератор для доступа ко всему тексту и атрибутам компонента редактирования текста, за исключением незафиксированного текста.
int getCommittedTextLength()
Получает длину всего текста компонента редактирования текста, за исключением незафиксированного (составляемого) текста.
int getInsertPositionOffset()
Получает смещение позиции вставки в зафиксированном тексте компонента редактирования текста.
TextHitInfo getLocationOffset(int x, int y)
Получает смещение внутри составляемого текста для указанных абсолютных координат x и y на экране.
AttributedCharacterIterator getSelectedText(AttributedCharacterIterator.Attribute[] attributes)
Получает текущий выделенный текст из компонента редактирования текста.
Rectangle getTextLocation(TextHitInfo offset)
Получает расположение указанного смещения в текущем составляемом тексте или выделения в зафиксированном тексте.

Подробное описание методов

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)
Создает JFrame верхнего уровня Swing для использования методом ввода. Предполагается следующее поведение этого окна:
  • оно находится поверх всех окон документов и диалоговых окон
  • оно и все содержащиеся в нем компоненты не получают фокус
  • оно имеет облегченные элементы оформления, например уменьшенную область перетаскивания без заголовка
Однако фактическое поведение в отношении этих трех пунктов зависит от платформы.

Заголовок может отображаться или не отображаться в зависимости от фактического типа созданного окна.

Если 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 для отключения

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, включая обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API