Module
java.desktop
Package java.awt.im.spi
提供可以开发可以与任何Java运行时环境一起使用的输入法的接口。
输入法是允许用户以键盘上简单打字以外的方式输入文字的软件组件。
它们通常用于输入日语,中文或韩语 - 使用数千个不同的字符 - 键盘上键少得多的键盘。
然而,这个包也允许开发其他语言的输入法,并使用完全不同的输入机制,如手写识别。
包装输入法
可以通过将输入法添加到应用程序的类路径中来获得输入法。 输入法的主JAR文件必须包含文件: META-INF/services/java.awt.im.spi.InputMethodDescriptor
该文件应包含一个完全限定类名称,一行一行,实现java.awt.im.spi.InputMethodDescriptor
接口的类。
忽略每个名称周围的空格和制表符,以及空白行。
评论人物为'#'
( \u0023
);
在每行上,忽略第一个注释字符之后的所有字符。
文件必须以UTF-8编码。
例如,如果为Foo输入法实现java.awt.im.spi.InputMethodDesciptor
的类的完全限定名称为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
的类的InputMethod
可以推迟到实际需要之前。
加载输入法
输入法框架通常会延迟加载输入法类,直到绝对需要。 它仅在AWT初始化期间加载InputMethodDescriptor
实现。
当选择输入法时,它会加载一个InputMethod
实现。
Java输入法和对等文本组件
Java输入法框架旨在支持输入法(主机输入法和Java输入法)和组件(对等和轻量级)的所有组合。 然而,由于底层平台的局限性,可能并不总是能够启用Java输入法和对等AWT组件之间的通信。 因此,对这种特定组合的支持取决于平台。 在Sun的Java SE运行时环境中,这种组合在Windows上受支持,但不支持Solaris。相关文档
有关概述,教程,示例,指南和工具文档,请参阅Input Method Framework Overview 。- 从以下版本开始:
- 1.3
-
接口摘要 接口 描述 InputMethod 定义支持复杂文本输入的输入法的界面。InputMethodContext 提供输入方法可用于与其客户端组件通信或请求其他服务的方法。InputMethodDescriptor 定义提供有关输入法的足够信息以启用该输入法的选择和加载的方法。