-
- All Superinterfaces:
-
InputMethodRequests
public interface InputMethodContext extends InputMethodRequests
提供输入方法可用于与其客户端组件通信或请求其他服务的方法。 该接口由输入法框架实现,输入法通过InputMethod.setInputMethodContext(java.awt.im.spi.InputMethodContext)调用其接收的实例。 不应该有其他的执行者或呼叫者。- 从以下版本开始:
- 1.3
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 JFramecreateInputMethodJFrame(String title, boolean attachToInputContext)创建一个顶级的Swing JFrame以供输入法使用。WindowcreateInputMethodWindow(String title, boolean attachToInputContext)创建一个顶级窗口,供输入法使用。voiddispatchInputMethodEvent(int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)从给定的参数创建输入法事件并将其分派到客户端组件。voidenableClientWindowNotification(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禁用
-
-