Module java.desktop
Package 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编码。
例如,如果实现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
的类。
加载输入法
输入法框架通常会推迟加载输入法类,直到绝对需要为止。它仅在AWT初始化期间加载InputMethodDescriptor
实现。当选择了输入法时,它会加载InputMethod
实现。
Java输入法和对等文本组件
Java输入法框架旨在支持所有输入法(宿主输入法和Java输入法)和组件(对等和轻量级)的所有组合。但是,由于底层平台的限制,可能无法始终启用Java输入法和对等AWT组件之间的通信。因此,对于这种特定组合的支持取决于平台。在Sun的Java SE运行时环境中,Windows支持此组合,但Solaris不支持。相关文档
有关概述、教程、示例、指南和工具文档,请参阅输入法框架概述。- 自版本:
- 1.3
-
ClassDescription定义了支持复杂文本输入的输入法接口。提供了输入法可以用来与其客户组件通信或请求其他服务的方法。定义了提供有关输入法的足够信息以便选择和加载该输入法的方法。