-
- All Superinterfaces:
-
InputMethodRequests
public interface InputMethodContext extends InputMethodRequests
提供输入方法可用于与其客户端组件通信或请求其他服务的方法。 该接口由输入法框架实现,输入法通过InputMethod.setInputMethodContext(java.awt.im.spi.InputMethodContext)
调用其接收的实例。 不应该有其他的执行者或呼叫者。- 从以下版本开始:
- 1.3
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 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)
启用或禁用当前客户端窗口的位置和指定输入法的状态的通知。-
Methods inherited from interface java.awt.im.InputMethodRequests
cancelLatestCommittedText, getCommittedText, getCommittedTextLength, getInsertPositionOffset, getLocationOffset, getSelectedText, getTextLocation
-
-
-
-
方法详细信息
-
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
- 标题显示在窗口的标题栏中,如果有这样的标题栏。 Anull
值被视为空字符串“”。 -
attachToInputContext
- 此窗口是否应共享与此输入法上下文相对应的输入上下文 - 结果
- 一个具有特殊特征的窗口,用于输入法
- 异常
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless
返回true
-
createInputMethodJFrame
JFrame createInputMethodJFrame(String title, boolean attachToInputContext)
创建一个顶级的Swing JFrame以供输入法使用。 此窗口的预期行为是:- 它漂浮在所有文档窗口和对话框之上
- 它和它包含的所有组件都没有收到焦点
- 它具有轻量化的装饰,例如没有标题的减少拖动区域
标题可能显示也可能不会显示,具体取决于所创建窗口的实际类型。
如果attachToInputContext为true,则新窗口将共享与此输入法上下文相对应的输入上下文,以便窗口中组件的事件自动分派到输入法。 此外,当窗口使用setVisible(true)打开时,输入上下文将阻止停用并激活可能导致的输入方法的调用。
当不再需要时,输入法必须在返回的输入法窗口中调用
Window.dispose
。- 参数
-
title
- 标题显示在窗口的标题栏中,如果有这样的标题栏。 Anull
值被视为空字符串“”。 -
attachToInputContext
- 此窗口是否应共享与此输入法上下文相对应的输入上下文 - 结果
- 一个具有特殊特性的JFrame,用于输入法
- 异常
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless
返回true
- 从以下版本开始:
- 1.4
-
enableClientWindowNotification
void enableClientWindowNotification(InputMethod inputMethod, boolean enable)
- 参数
-
inputMethod
- 启用或禁用通知的输入法 -
enable
- true启用,false禁用
-
-