请参见:
描述
接口摘要 | |
---|---|
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
的类。
输入方法框架通常会推迟到绝对需要时才加载输入方法类。它在 AWT 初始化期间只加载 InputMethodDescriptor
实现。在已选定输入方法时加载 InputMethod
实现。
Java 输入方法框架意在支持所有输入方法(主机输入方法和 Java 输入方法)和组件(同级或轻量级)的撰写。不过,因为基础平台的限制,它不会总是能够启用 Java 输入方法和同级 AWT 组件之间的通信。因此,对具体撰写的支持与平台有关。在 Sun 的 Java SE 运行时环境中,此撰写在 Windows 上受支持,但在 Solaris 上不受支持。
有关概述、教程、示例、指南和工具文档的信息,请参阅: