接口 | 描述 |
---|---|
InputMethod |
定义支持复杂文本输入的输入法的界面。
|
InputMethodContext |
提供输入方法可用于与其客户端组件通信或请求其他服务的方法。
|
InputMethodDescriptor |
定义提供有关输入法的足够信息以启用该输入法的选择和加载的方法。
|
提供可以开发可以与任何Java运行时环境一起使用的输入法的接口。 输入法是允许用户以键盘上简单打字以外的方式输入文字的软件组件。 它们通常用于输入日语,中文或韩语 - 使用数千个不同的字符 - 键盘上键少得多的键盘。 然而,这个包也允许开发其他语言的输入法,并使用完全不同的输入机制,如手写识别。
输入方法按照Extension Mechanism的规定打包为已安装的扩展 。 输入法的主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
可以推迟到实际需要之前。
输入法框架通常会延迟加载输入法类,直到绝对需要。 它只加载InputMethodDescriptor
AWT初始化期间实现。 当选择输入法时,它会加载InputMethod
实现。
Java输入法框架旨在支持输入法(主机输入法和Java输入法)和组件(对等和轻量级)的所有组合。 然而,由于底层平台的局限性,可能并不总是能够启用Java输入法和对等AWT组件之间的通信。 因此,对这种特定组合的支持取决于平台。 在Sun的Java SE运行时环境中,这种组合在Windows上受支持,但不支持Solaris。
有关概述,教程,示例,指南和工具文档,请参阅: