模块
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 定义提供有关输入方法的足够信息的方法,以启用对该输入方法的选择和加载。