Module java.desktop
Package java.awt.im.spi

Interface InputMethodContext

所有超级接口:
InputMethodRequests

public interface InputMethodContext extends InputMethodRequests
提供输入法可以用来与其客户组件通信或请求其他服务的方法。此接口由输入法框架实现,输入法通过InputMethod.setInputMethodContext(java.awt.im.spi.InputMethodContext)方法调用其方法。不应该有其他实现者或调用者。
自:
1.3
  • Method Details

    • dispatchInputMethodEvent

      void dispatchInputMethodEvent(int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)
      从给定的参数创建一个输入法事件,并将其分派到客户组件。有关参数,请参见InputMethodEvent(java.awt.Component, int, java.awt.font.TextHitInfo, java.awt.font.TextHitInfo)
      参数:
      id - 事件类型
      text - 组合的已提交和已组成文本
      committedCharacterCount - 文本中已提交字符的数量
      caret - 插入点; 如果当前组合文本中没有插入点,则为null
      visiblePosition - 最重要的要可见的位置; 如果当前组合文本中没有建议的可见位置,则为null
    • createInputMethodWindow

      Window createInputMethodWindow(String title, boolean attachToInputContext)
      为输入法创建一个顶级窗口。此窗口的预期行为是:
      • 它浮在所有文档窗口和对话框之上
      • 它和它包含的所有组件都不会获得焦点
      • 它具有轻量级的装饰,例如没有标题的减少拖动区域
      但是,关于这三个项目的实际行为取决于平台。

      标题可能会显示,也可能不会显示,这取决于创建的实际窗口类型。

      如果attachToInputContext为true,则新窗口将共享与此输入法上下文对应的输入上下文,因此窗口中组件的事件将自动分派给输入法。此外,当使用setVisible(true)打开窗口时,输入上下文将防止对输入法造成的停用和激活调用。

      输入法在不再需要时必须调用Window.dispose返回的输入法窗口。

      参数:
      title - 要显示在窗口标题栏中的标题。如果存在标题栏,则将null值视为一个空字符串,""。
      attachToInputContext - 此窗口是否应该共享与此输入法上下文对应的输入上下文
      返回:
      具有输入法使用的特殊特性的窗口
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless返回true
    • createInputMethodJFrame

      JFrame createInputMethodJFrame(String title, boolean attachToInputContext)
      为输入法创建一个顶级的Swing JFrame。此窗口的预期行为是:
      • 它浮在所有文档窗口和对话框之上
      • 它和它包含的所有组件都不会获得焦点
      • 它具有轻量级的装饰,例如没有标题的减少拖动区域
      但是,关于这三个项目的实际行为取决于平台。

      标题可能会显示,也可能不会显示,这取决于创建的实际窗口类型。

      如果attachToInputContext为true,则新窗口将共享与此输入法上下文对应的输入上下文,因此窗口中组件的事件将自动分派给输入法。此外,当使用setVisible(true)打开窗口时,输入上下文将防止对输入法造成的停用和激活调用。

      输入法在不再需要时必须调用Window.dispose返回的输入法窗口。

      参数:
      title - 要显示在窗口标题栏中的标题。如果存在标题栏,则将null值视为一个空字符串,""。
      attachToInputContext - 此窗口是否应该共享与此输入法上下文对应的输入上下文
      返回:
      具有输入法使用的特殊特性的JFrame
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless返回true
      自:
      1.4
    • enableClientWindowNotification

      void enableClientWindowNotification(InputMethod inputMethod, boolean enable)
      启用或禁用指定输入法的当前客户窗口位置和状态的通知。当启用通知时,将调用输入法的notifyClientWindowChange方法,如该方法的规范中所述。在输入法被处理时,通知会自动禁用。
      参数:
      inputMethod - 要为其启用或禁用通知的输入法
      enable - true表示启用,false表示禁用