-
- All Superinterfaces:
-
InputMethodRequests
public interface InputMethodContext extends InputMethodRequests
提供输入方法可用于与其客户端组件通信或请求其他服务的方法。 此接口由输入方法框架实现,输入方法在通过InputMethod.setInputMethodContext(java.awt.im.spi.InputMethodContext)
接收的实例上调用其方法。 应该没有其他实现者或呼叫者。- 从以下版本开始:
- 1.3
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 JFrame
createInputMethodJFrame(String title, boolean attachToInputContext)
创建一个顶级Swing JFrame供输入法使用。Window
createInputMethodWindow(String title, boolean attachToInputContext)
创建一个顶级窗口供输入法使用。void
dispatchInputMethodEvent(int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)
根据给定的参数创建输入方法事件,并将其分派给客户端组件。void
enableClientWindowNotification(InputMethod inputMethod, boolean enable)
启用或禁用当前客户端窗口的指定输入方法的位置和状态的通知。
-
-
-
方法详细信息
-
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)
- 参数
-
inputMethod
- 启用或禁用通知的输入方法 -
enable
- 如果启用,enable
true,禁用为false
-
-