模块 java.desktop

接口 InputMethodContext

所有父级接口:
InputMethodRequests

public interface InputMethodContext extends InputMethodRequests
提供输入方法可用于与其客户端组件通信或请求其他服务的方法。该接口由输入法框架实现,输入法在它们通过 InputMethod.setInputMethodContext(java.awt.im.spi.InputMethodContext) 接收到的实例上调用其方法。不应有其他实施者或调用者。
自从:
1.3
  • 方法详情

    • 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 为真,新窗口将共享与此输入方法上下文对应的输入上下文,以便窗口中组件的事件自动调度到输入方法。此外,当使用 setVisible(true) 打开窗口时,输入上下文将阻止可能以其他方式导致的对输入方法的停用和激活调用。

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

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

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

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

      如果 attachToInputContext 为真,新窗口将共享与此输入方法上下文对应的输入上下文,以便窗口中组件的事件自动调度到输入方法。此外,当使用 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 禁用