模块 java.desktop

包 java.awt.im.spi


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
  • 接口
    描述
    定义支持复杂文本输入的输入方法的接口。
    提供输入方法可用于与其客户端组件通信或请求其他服务的方法。
    定义提供有关输入方法的足够信息以启用该输入方法的选择和加载的方法。