|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.awt.im.spi
接口 InputMethod
-
public interface InputMethod
定义支持复杂文本输入的输入方法接口。输入方法通常支持多语言文本输入,这些语言(如汉语、日语和韩语)都有无法在标准键盘上直接表示的字符。不过,它们也可以用来支持英语语音文本输入或泰语字符的重新排序。
InputMethod 的子类可以由输入方法框架加载;然后可以通过 API (InputContext.selectInputMethod
) 或通过用户界面(输入方法选择菜单)对其进行选择。
- 从以下版本开始:
- 1.3
方法摘要 | |
---|---|
void |
activate() 激活输入方法,以便立即进行输入处理。 |
void |
deactivate(boolean isTemporary) 让输入方法处于非活动状态。 |
void |
dispatchEvent(AWTEvent event) 将事件指派到输入方法。 |
void |
dispose() 释放输入方法并释放它使用的资源。 |
void |
endComposition() 结束当前可能在此上下文中正进行的任何输入撰写。 |
Object |
getControlObject() 从此输入方法返回一个控制对象,或 null。 |
Locale |
getLocale() 返回当前的输入语言环境。 |
void |
hideWindows() 关闭或隐藏由此输入方法实例或其类打开的所有窗口。 |
boolean |
isCompositionEnabled() 确定此输入方法是否已启用。 |
void |
notifyClientWindowChange(Rectangle bounds) 通知此输入方法客户端窗口位置或状态的更改。 |
void |
reconvert() 启动恢复操作。 |
void |
removeNotify() 通知输入方法已从客户端组件所在容器层次结构中移除该客户端组件,或通知它该组件已禁用输入方法支持。 |
void |
setCharacterSubsets(Character.Subset[] subsets) 设置允许此输入方法进行输入的 Unicode 字符集的子集。 |
void |
setCompositionEnabled(boolean enable) 启用或禁用为进行撰写的输入方法,具体取决于参数 enable 的值。 |
void |
setInputMethodContext(InputMethodContext context) 设置输入方法的上下文,这样可以将输入方法事件指派到客户端组件并能从客户端组件请求信息。 |
boolean |
setLocale(Locale locale) 试图设置输入语言环境。 |
方法详细信息 |
---|
setInputMethodContext
void setInputMethodContext(InputMethodContext context)
-
设置输入方法的上下文,这样可以将输入方法事件指派到客户端组件并能从客户端组件请求信息。
实例化此输入方法之后马上就会调用一次此方法。
-
- 参数:
-
context
- 此输入方法的输入方法上下文 - 抛出:
-
NullPointerException
- 如果context
为 null
setLocale
boolean setLocale(Locale locale)
-
试图设置输入语言环境。如果输入方法支持所需的语言环境,则此输入方法将更改自己的行为以支持该语言环境的输入并返回 true。否则,它将返回 false,且不会更改自己的行为。
以下情况可调用此方法
- 由
InputContext.selectInputMethod
调用。 - 如果用户指定了语言环境,或者以前已选定输入方法的
getLocale
方法返回一个非 null 值,则当通过用户界面切换为该输入方法时调用。
- 由
-
- 参数:
-
locale
- 要输入的语言环境 - 返回:
- 是否支持指定的语言环境
- 抛出:
-
NullPointerException
- 如果locale
为 null
getLocale
Locale getLocale()
-
返回当前的输入语言环境。异常情况下可能返回 null。
以下情况可调用此方法
- 由
InputContext.getLocale
调用,和 - 通过用户界面从此输入方法切换为另一种输入方法时调用。
- 由
-
- 返回:
- 当前的输入语言环境,或 null
setCharacterSubsets
void setCharacterSubsets(Character.Subset[] subsets)
-
设置允许此输入方法进行输入的 Unicode 字符集的子集。可能会传入 Null,以指示允许输入所有字符。
以下情况可调用此方法
- 实例化此输入方法后立即调用,
- 当从另一种输入方法切换到此输入方法时,以及
- 由
InputContext.setCharacterSubsets
调用。
-
- 参数:
-
subsets
- 可以从其输入字符的 Unicode 字符集的子集
setCompositionEnabled
void setCompositionEnabled(boolean enable)
-
启用或禁用为进行撰写的输入方法,具体取决于参数
enable
的值。启用为进行撰写的输入方法将出于撰写和控制目的解释传入事件,而禁用的输入方法不能出于撰写目的解释事件。但要注意:无论输入方法是启用还是禁用,事件都会传到该输入方法;禁用为进行撰写的输入方法可能仍会出于控制目的解释包括为撰写而启用或禁用自身在内的事件。
对于由主机操作系统提供的输入方法,并不总能确定是否支持此操作。例如,某个输入方法可能只对某些语言环境启用了撰写功能,而对另一些语言环境不执行任何操作。对于此类输入方法,此方法有可能既不抛出
UnsupportedOperationException
,也不影响是否已启用撰写功能。以下情况可调用此方法
- 由
InputContext.setCompositionEnabled
调用。 - 如果以前已选定输入方法的
isCompositionEnabled
方法在没有抛出异常的情况下返回,则当使用用户界面或InputContext.selectInputMethod
从另一种输入方法切换到此输入方法时调用。
- 由
-
- 参数:
-
enable
- 是否启用为进行撰写的输入方法 - 抛出:
-
UnsupportedOperationException
- 如果此输入方法不支持启用/禁用操作 - 另请参见:
-
isCompositionEnabled()
isCompositionEnabled
boolean isCompositionEnabled()
-
确定此输入方法是否已启用。启用撰写功能的输入方法将出于撰写和控制目的解释传入事件,而禁用的输入方法不会出于撰写目的解释事件。
以下情况可调用此方法
- 由
InputContext.isCompositionEnabled
调用,并且 - 当使用用户界面或
InputContext.selectInputMethod
从此输入方法切换到另一种输入方法时调用。
- 由
-
- 返回:
-
如果为进行撰写启用了此输入方法,则返回
true
;否则返回false
。 - 抛出:
-
UnsupportedOperationException
- 如果此输入方法不支持是否已启用撰写功能检查 - 另请参见:
-
setCompositionEnabled(boolean)
reconvert
void reconvert()
-
启动恢复操作。输入方法使用
InputMethodRequests.getSelectedText
方法从当前客户端组件中获得要恢复的文本。它也可以使用其他InputMethodRequests
方法请求恢复操作所需的其他信息。此操作生成的已混合且已提交文本将作为InputMethodEvent
序列发送到客户端组件。如果给定的文本不能恢复,则会把相同的文本作为已提交文本发送到客户端组件。可由
InputContext.reconvert
调用此方法。 -
- 抛出:
-
UnsupportedOperationException
- 如果输入方法不支持恢复操作。