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