- 所有超级接口:
-
InputMethodRequests
提供输入法可以用来与其客户组件通信或请求其他服务的方法。此接口由输入法框架实现,输入法通过
InputMethod.setInputMethodContext(java.awt.im.spi.InputMethodContext)
方法调用其方法。不应该有其他实现者或调用者。
- 自:
- 1.3
-
Method Summary
Modifier and TypeMethodDescriptioncreateInputMethodJFrame
(String title, boolean attachToInputContext) 为输入法创建一个顶级的Swing JFrame。createInputMethodWindow
(String title, boolean attachToInputContext) 为输入法创建一个顶级窗口。void
dispatchInputMethodEvent
(int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition) 从给定的参数创建一个输入法事件,并将其分派到客户组件。void
enableClientWindowNotification
(InputMethod inputMethod, boolean enable) 启用或禁用指定输入法的当前客户窗口位置和状态的通知。Methods declared in interface java.awt.im.InputMethodRequests
cancelLatestCommittedText, getCommittedText, getCommittedTextLength, getInsertPositionOffset, getLocationOffset, getSelectedText, getTextLocation
-
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
为输入法创建一个顶级窗口。此窗口的预期行为是:- 它浮在所有文档窗口和对话框之上
- 它和它包含的所有组件都不会获得焦点
- 它具有轻量级的装饰,例如没有标题的减少拖动区域
标题可能会显示,也可能不会显示,这取决于创建的实际窗口类型。
如果attachToInputContext为true,则新窗口将共享与此输入法上下文对应的输入上下文,因此窗口中组件的事件将自动分派给输入法。此外,当使用setVisible(true)打开窗口时,输入上下文将防止对输入法造成的停用和激活调用。
输入法在不再需要时必须调用
Window.dispose
返回的输入法窗口。- 参数:
-
title
- 要显示在窗口标题栏中的标题。如果存在标题栏,则将null
值视为一个空字符串,""。 -
attachToInputContext
- 此窗口是否应该共享与此输入法上下文对应的输入上下文 - 返回:
- 具有输入法使用的特殊特性的窗口
- 抛出:
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless
返回true
-
createInputMethodJFrame
为输入法创建一个顶级的Swing JFrame。此窗口的预期行为是:- 它浮在所有文档窗口和对话框之上
- 它和它包含的所有组件都不会获得焦点
- 它具有轻量级的装饰,例如没有标题的减少拖动区域
标题可能会显示,也可能不会显示,这取决于创建的实际窗口类型。
如果attachToInputContext为true,则新窗口将共享与此输入法上下文对应的输入上下文,因此窗口中组件的事件将自动分派给输入法。此外,当使用setVisible(true)打开窗口时,输入上下文将防止对输入法造成的停用和激活调用。
输入法在不再需要时必须调用
Window.dispose
返回的输入法窗口。- 参数:
-
title
- 要显示在窗口标题栏中的标题。如果存在标题栏,则将null
值视为一个空字符串,""。 -
attachToInputContext
- 此窗口是否应该共享与此输入法上下文对应的输入上下文 - 返回:
- 具有输入法使用的特殊特性的JFrame
- 抛出:
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless
返回true
- 自:
- 1.4
-
enableClientWindowNotification
启用或禁用指定输入法的当前客户窗口位置和状态的通知。当启用通知时,将调用输入法的notifyClientWindowChange
方法,如该方法的规范中所述。在输入法被处理时,通知会自动禁用。- 参数:
-
inputMethod
- 要为其启用或禁用通知的输入法 -
enable
- true表示启用,false表示禁用
-