Spec-Zone.ru › OpenJDK 8

Класс InputContext

  • java.lang.Object
    • java.awt.im.InputContext

public class InputContext
extends Object

Предоставляет методы для управления средствами ввода текста, такими как методы ввода и раскладки клавиатуры. Два метода обрабатывают как методы ввода, так и раскладки клавиатуры: selectInputMethod позволяет клиенту-компоненту выбрать метод ввода или раскладку клавиатуры по языку, getLocale позволяет клиенту-компоненту получить язык текущего метода ввода или раскладки клавиатуры. Другие методы более конкретно поддерживают взаимодействие с методами ввода: они позволяют клиенту-компоненту управлять поведением методов ввода и передавать события от клиента-компонента методу ввода.

По умолчанию один экземпляр InputContext создаётся на каждый экземпляр Window, и этот контекст ввода используется всеми компонентами в иерархии контейнеров окна. Однако это означает, что только одна операция ввода текста возможна в любое время в окне, и что текст необходимо подтвердить при перемещении фокуса с одного текстового компонента на другой. Если это нежелательно, текстовые компоненты могут создавать свои экземпляры контекста ввода.

Java Platform поддерживает методы ввода, разработанные на языке программирования Java, используя интерфейсы в пакете java.awt.im.spi, и установленные в Java SE Runtime Environment в качестве расширений. Реализации также могут поддерживать использование собственных методов ввода платформ, на которых они выполняются; однако не все платформы и языки имеют методы ввода. Раскладки клавиатуры предоставляются хостовой платформой.

Методы ввода недоступны, если (а) не установлен ни один метод ввода, написанный на языке программирования Java, и (б) реализация Java Platform или базовая платформа не поддерживают собственные методы ввода. В этом случае контексты ввода по-прежнему могут создаваться и использоваться; их поведение определяется отдельными методами ниже.

Since:
1.2
См. также:
Component.getInputContext(), Component.enableInputMethods(boolean)

Конструкторы

Модификатор Конструктор и описание
protected InputContext()

Конструирует InputContext.

Методы

Модификатор и тип Метод и описание
void dispatchEvent(AWTEvent event)

Пересылает событие активному методу ввода.

void dispose()

Освобождает ресурсы, используемые этим контекстом ввода.

void endComposition()

Завершает любую операцию составления ввода, которая может в настоящее время происходить в данном контексте.

Object getInputMethodControlObject()

Возвращает объект управления текущего метода ввода или null.

static InputContext getInstance()

Возвращает новый экземпляр InputContext.

Locale getLocale()

Возвращает текущий язык текущего метода ввода или раскладки клавиатуры.

boolean isCompositionEnabled()

Определяет, включен ли текущий метод ввода для составления.

void reconvert()

Просит текущий метод ввода повторно преобразовать текст из текущего компонента клиента.

void removeNotify(Component client)

Уведомляет контекст ввода о том, что клиентский компонент был удалён из своей иерархии контейнеров или что поддержка метода ввода была отключена для компонента.

boolean selectInputMethod(Locale locale)

Попытка выбрать метод ввода или раскладку клавиатуры, которые поддерживают заданный язык, и возвращает значение, указывающее, был ли успешно выбран такой метод ввода или раскладка клавиатуры.

void setCharacterSubsets(Character.Subset[] subsets)

Устанавливает подмножества набора символов Unicode, для ввода которых должны допускаться методы ввода данного контекста ввода.

void setCompositionEnabled(boolean enable)

Включает или выключает текущий метод ввода для составления, в зависимости от значения параметра enable.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

InputContext

protected InputContext()

Создаёт InputContext. Этот метод защищён, поэтому клиенты не могут создать InputContext напрямую. Контексты ввода получаются путём вызова getInstance().

Методы

getInstance

public static InputContext getInstance()

Возвращает новый экземпляр InputContext.

selectInputMethod

public boolean selectInputMethod(Locale locale)

Попытка выбрать метод ввода или раскладку клавиатуры, поддерживающие заданный регион, и возвращает значение, указывающее, был ли успешно выбран такой метод ввода или раскладка клавиатуры. Выполняются следующие шаги, пока не будет выбран метод ввода:

  • Если текущий выбранный метод ввода или раскладка клавиатуры поддерживают запрошенный регион, он остаётся выбранным.
  • Если нет метода ввода или раскладки клавиатуры, поддерживающего запрошенный регион, текущий метод ввода или раскладка клавиатуры остаются выбранными.
  • Если пользователь ранее выбрал метод ввода или раскладку клавиатуры для запрошенного региона из пользовательского интерфейса, то последний выбранный метод ввода или раскладка клавиатуры перевыбираются.
  • В противном случае метод ввода или раскладка клавиатуры, поддерживающие запрошенный регион, выбираются способом, зависящим от реализации.
Перед переключением с метода ввода, любая несохранённый текст сохраняется. Если метод ввода или раскладка клавиатуры, поддерживающие запрошенный регион, недоступны, то возвращается false.

Не все операционные системы хоста предоставляют API для определения региона текущего выбранного нативного метода ввода или раскладки клавиатуры и для выбора нативного метода ввода или раскладки клавиатуры по региону. Для операционных систем хоста, которые не предоставляют такого API, selectInputMethod предполагает, что нативные методы ввода или раскладки клавиатуры, предоставляемые операционной системой хоста, поддерживают только системный регион по умолчанию.

Компонент редактирования текста может вызвать этот метод, например, когда пользователь меняет точку вставки, чтобы пользователь мог немедленно продолжить ввод на языке окружающего текста.

Параметры:
locale - Желаемый новый регион.
Возвращает:
true, если метод ввода или раскладка клавиатуры, активные после этого вызова, поддерживают желаемый регион.
Выбрасывает:
NullPointerException - если locale равно null

getLocale

public Locale getLocale()

Возвращает текущий регион текущего метода ввода или раскладки клавиатуры. Возвращает null, если контекст ввода не имеет текущего метода ввода или раскладки клавиатуры или если метод InputMethod.getLocale() текущего метода ввода возвращает null.

Не все операционные системы хоста предоставляют API для определения региона текущего выбранного нативного метода ввода или раскладки клавиатуры. Для операционных систем хоста, которые не предоставляют такого API, getLocale предполагает, что текущий регион всех нативных методов ввода или раскладок клавиатуры, предоставляемых операционной системой хоста, является системным регионом по умолчанию.

Возвращает:
текущий регион текущего метода ввода или раскладки клавиатуры
С:
1.3

setCharacterSubsets

public void setCharacterSubsets(Character.Subset[] subsets)

Устанавливает подмножества набора символов Юникода, которые методы ввода этого контекста ввода должны иметь право вводить. Можно передать значение null, чтобы указать, что разрешены все символы. Начальное значение — null. Настройка применяется к текущему методу ввода, а также к методам ввода, выбранным после выполнения этого вызова. Однако приложения не могут полагаться на то, что этот вызов будет иметь желаемый эффект, так как эта настройка не может быть передана всем методам ввода хоста — приложениям по-прежнему необходимо применять собственное подтверждение символов. Если методы ввода недоступны, то этот метод не имеет эффекта.

Параметры:
subsets - Подмножества набора символов Юникода, из которых могут вводиться символы

setCompositionEnabled

public void setCompositionEnabled(boolean enable)

Включает или отключает текущий метод ввода для составления, в зависимости от значения параметра enable.

Метод ввода, включённый для составления, интерпретирует входящие события для целей составления и управления, в то время как отключённый метод ввода не интерпретирует события для составления. Однако учтите, что события передаются методу ввода независимо от того, включён он или нет, и что метод ввода, отключённый для составления, всё ещё может интерпретировать события для целей управления, включая включение или отключение себя для составления.

Для методов ввода, предоставляемых операционными системами хоста, не всегда возможно определить, поддерживается ли эта операция. Например, метод ввода может включать составление только для некоторых регионов и ничего не делать для других регионов. Для таких методов ввода возможно, что этот метод не вызывает UnsupportedOperationException, но также не влияет на то, включено ли составление.

Параметры:
enable - необходимо ли включить текущий метод ввода для составления
Выбрасывает:
UnsupportedOperationException - если текущий метод ввода недоступен или текущий метод ввода не поддерживает операцию включения/отключения
С:
1.3
См. также:
isCompositionEnabled()

isCompositionEnabled

public boolean isCompositionEnabled()

Определяет, включён ли текущий метод ввода для составления. Метод ввода, включённый для составления, интерпретирует входящие события как для составления, так и для управления, в то время как отключённый метод ввода не интерпретирует события для составления.

Возвращает:
true если текущий метод ввода включён для составления; false в противном случае
Выбрасывает:
UnsupportedOperationException - если текущий метод ввода недоступен или текущий метод ввода не поддерживает проверку, включён ли он для составления
С:
1.3
См. также:
setCompositionEnabled(boolean)

reconvert

public void reconvert()

Просит текущий метод ввода переконвертировать текст из текущего компонента клиента. Метод ввода получает текст для переконвертирования из компонента клиента, используя метод InputMethodRequests.getSelectedText. Другие InputMethodRequests методы должны быть готовы к обработке дополнительных запросов информации от метода ввода. Сформированный и/или сохранённый текст будет отправлен компоненту клиента в виде последовательности InputMethodEvent. Если метод ввода не может переконвертировать заданный текст, текст возвращается как сохранённый текст в InputMethodEvent.

Выбрасывает:
UnsupportedOperationException - если текущий метод ввода недоступен или текущий метод ввода не поддерживает операцию переконвертации.
С:
1.3

dispatchEvent

public void dispatchEvent(AWTEvent event)

Отправляет событие активному методу ввода. Вызывается AWT. Если метод ввода недоступен, событие никогда не будет обработано.

Параметры:
event - Событие
Выбрасывает:
NullPointerException - если event равно null

removeNotify

public void removeNotify(Component client)

Сообщает контексту ввода, что компонент клиента был удалён из его иерархии контейнеров или что поддержка метода ввода была отключена для компонента. Этот метод обычно вызывается из метода Component.removeNotify компонента клиента. Потенциально ожидаемый ввод от методов ввода для этого компонента отбрасывается. Если методы ввода недоступны, этот метод не имеет эффекта.

Параметры:
client - Компонент клиента
Выбрасывает:
NullPointerException - если client равно null

endComposition

public void endComposition()

Завершает любую текущую операцию составления ввода в этом контексте. В зависимости от платформы и, возможно, пользовательских предпочтений, это может привести к сохранению или удалению несохранённого текста. Любые изменения текста сообщаются активному компоненту с помощью события метода ввода. Если методы ввода недоступны, этот метод не имеет эффекта.

Компонент редактирования текста может вызвать его в различных ситуациях, например, при перемещении точки вставки в тексте (но за пределами составленного текста) или при сохранении текста компонента в файл или копировании в буфер обмена.

dispose

public void dispose()

Освобождает ресурсы, используемые этим контекстом ввода. Вызывается AWT для контекста ввода по умолчанию каждого окна. Если методы ввода недоступны, этот метод не имеет эффекта.

getInputMethodControlObject

public Object getInputMethodControlObject()

Возвращает объект управления текущего метода ввода или null. Объект управления предоставляет методы управления поведением метода ввода или получения информации от метода ввода. Тип объекта — это класс, специфичный для метода ввода. Клиенты должны сравнить результат со знакомыми классами объектов управления методами ввода и выполнить приведение к соответствующему классу для вызова предоставленных методов.

Если методы ввода недоступны или текущий метод ввода не предоставляет объект управления методом ввода, возвращается null.

Возвращает:
Объект управления текущего метода ввода или null.

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

Spec-Zone.ru

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