Spec-Zone.ru › OpenJDK 24

Пакет java.awt.im.spi

package java.awt.im.spi
Предоставляет интерфейсы, которые позволяют разрабатывать методы ввода, которые можно использовать с любой средой выполнения Java. Методы ввода — это программные компоненты, которые позволяют пользователю вводить текст другими способами, помимо простого набора с клавиатуры. Они обычно используются для ввода японского, китайского или корейского языков — языков, использующих тысячи различных символов, — на клавиатурах с гораздо меньшим количеством клавиш. Однако этот пакет также позволяет разрабатывать методы ввода для других языков и использовать совершенно другие механизмы ввода, такие как распознавание рукописного ввода.

Упаковывание методов ввода

Методы ввода могут быть доступны путём добавления их в пути к классам приложения. Основной JAR-файл метода ввода должен содержать файл:
     META-INF/services/java.awt.im.spi.InputMethodDescriptor
 
Файл должен содержать список полных квалифицированных имён классов, по одному на строку, реализующих интерфейс java.awt.im.spi.InputMethodDescriptor. Пробелы и табуляции вокруг каждого имени, а также пустые строки игнорируются. Символ комментария — '#' (\u0023); в каждой строке все символы после первого символа комментария игнорируются. Файл должен быть закодирован в UTF-8.

Например, если полное квалифицированное имя класса, реализующего java.awt.im.spi.InputMethodDescriptor для метода ввода Foo, — это com.sun.ime.FooInputMethodDescriptor, то файл META-INF/services/java.awt.im.spi.InputMethodDescriptor содержит строку:

     com.sun.ime.FooInputMethodDescriptor
 
Метод ввода также должен предоставлять как минимум два класса: один класс, реализующий интерфейс java.awt.im.spi.InputMethodDescriptor, один класс, реализующий интерфейс java.awt.im.spi.InputMethod. Метод ввода должен разделять реализации этих интерфейсов, чтобы загрузка класса, реализующего InputMethod, могла быть отложена до фактической необходимости.

Загрузка методов ввода

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

Методы ввода Java и сопоставленные текстовые компоненты

Фреймворк методов ввода Java нацелен на поддержку всех комбинаций методов ввода (методы ввода хоста и методы ввода Java) и компонентов (сопоставленные и лёгкие). Однако из-за ограничений в базовой платформе может не всегда быть возможным обеспечить взаимодействие между методами ввода Java и сопоставленными компонентами AWT. Поэтому поддержка этой конкретной комбинации зависит от платформы. В средах выполнения Java SE от Sun эта комбинация поддерживается в Windows, но не в Solaris.

Связанная документация

Для обзоров, учебных пособий, примеров, руководств и документации по инструментам, пожалуйста, обратитесь к Обзору фреймворка методов ввода.
С:
1.3
Пакет Описание
java.awt.im
Предоставляет классы и интерфейсы для фреймворка методов ввода.
Класс Описание
InputMethod
Определяет интерфейс для метода ввода, который поддерживает сложный ввод текста.
InputMethodContext
Предоставляет методы, которые методы ввода могут использовать для взаимодействия со своими клиентскими компонентами или для запроса других услуг.
InputMethodDescriptor
Определяет методы, которые предоставляют достаточную информацию о методе ввода для выбора и загрузки этого метода ввода.

© 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/package-summary.html

Spec-Zone.ru

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