public class InputContext extends Object
默认情况下,每一inputcontext实例窗口实例创建,这个输入上下文的所有组件在窗口的容器层次结构共享。然而,这意味着只有一个文本输入操作是可能的,在任何一个时间内的一个窗口,和文本需要提交时,从一个文本组件的焦点到另一个。如果这是不需要的,文本组件可以创建自己的输入上下文实例。
java平台支持的输入方法,已在java编程语言开发,在java.awt.im.spi
包使用的接口,并安装到一个java运行环境的延伸。实现可能也支持使用的平台,它们运行在本地输入法;然而,并不是所有的平台和场所提供的输入方法。键盘布局是由主机平台提供的。
输入方法是不可用的(一)如果没有输入法编写的java编程语言已经安装和(B)的java平台实现或基础平台不支持原生输入法。在这种情况下,输入上下文仍然可以被创建和使用;它们的行为被指定为下面的单独的方法。
Component.getInputContext()
,
Component.enableInputMethods(boolean)
Modifier | Constructor and Description |
---|---|
protected |
InputContext()
构建了一个inputcontext。
|
Modifier and Type | Method and Description |
---|---|
void |
dispatchEvent(AWTEvent event)
将一个事件活动的输入方法。
|
void |
dispose()
释放此输入上下文所使用的资源。
|
void |
endComposition()
结束当前上下文中可能正在进行的任何输入组合。
|
Object |
getInputMethodControlObject()
从当前输入法返回一个控件对象,或为。
|
static InputContext |
getInstance()
返回一个新的inputcontext实例。
|
Locale |
getLocale()
返回当前输入法或键盘布局的当前区域设置。
|
boolean |
isCompositionEnabled()
确定是否启用了当前的输入法。
|
void |
reconvert()
要将文本从当前的客户端组件的当前输入法。
|
void |
removeNotify(Component client)
当输入的背景下,一个客户端组件已从其层次结构拆除,或输入法支持已被禁用的组件。
|
boolean |
selectInputMethod(Locale locale)
试图选择支持给定区域设置的输入法或键盘布局,并返回一个值,该值指示是否已成功地选择了这样的输入法或键盘布局。
|
void |
setCharacterSubsets(Character.Subset[] subsets)
设置的Unicode字符集,这个输入上下文输入方法应该允许输入的子集。
|
void |
setCompositionEnabled(boolean enable)
启用或禁用成分当前输入法,根据参数的值
enable 。
|
protected InputContext()
getInstance()
得到输入上下文。
public static InputContext getInstance()
public boolean selectInputMethod(Locale locale)
并不是所有的主机操作系统都提供了原料药,以确定当前选定的本地输入法或键盘布局的区域设置,并选择一个本地输入法或键盘布局的现场设置。主机的操作系统,不提供这样的API,selectInputMethod
假设原生输入法及键盘布局由主机操作系统只支持系统默认区域设置。
一个文本编辑组件可以调用此方法,例如,当用户改变插入点时,以便用户可以立即继续在围绕文本的语言中键入。
locale
-所需的新的区域。
NullPointerException
-如果
locale
是空的
public Locale getLocale()
InputMethod.getLocale()
方法返回null有当前的输入法和键盘布局或返回null。
并不是所有的主机操作系统提供的接口,以确定当前选定的本地输入法或键盘布局的区域设置。主机的操作系统,不提供这样的API,getLocale
假定所有原生输入法和键盘布局由主机操作系统提供的当前区域设置是系统默认的区域设置。
public void setCharacterSubsets(Character.Subset[] subsets)
subsets
的子集的Unicode字符集的字符可以输入
public void setCompositionEnabled(boolean enable)
一种用于组合的输入方法解释了用于组成和控制目的的传入事件,而一个禁用的输入方法不解释事件的组合物。请注意,事件被传递到输入方法,无论它是否被启用或不,和一个输入方法,是禁用的组成仍然可以解释事件的控制目的,包括启用或禁用自己的组成。
对于由主机操作系统提供的输入方法,它不总是可能的,以确定是否支持此操作。例如,一个输入法只能用于某些地区使组成,和其他地方做什么。这种输入方法,它是可能的,这种方法不把UnsupportedOperationException
,又不影响是否构成启用。
enable
。
enable
-是否启用对构成当前输入法
UnsupportedOperationException
-如果没有当前输入法可用或当前输入法不支持启用/禁用操作
isCompositionEnabled()
public boolean isCompositionEnabled()
true
如果当前输入法功能的成分;
false
否则
UnsupportedOperationException
-如果没有当前输入法可用或当前的输入法不支持检查是否启用组成
setCompositionEnabled(boolean)
public void reconvert()
InputMethodRequests.getSelectedText
方法的客户端组件。另
InputMethodRequests
方法必须准备应对进一步的信息请求的输入法。的组成和/或提交的文本将作为一系列
InputMethodEvent
s发送到客户端组件。如果输入法不能将给定的文本,文本是作为犯在
InputMethodEvent
返回文本。
UnsupportedOperationException
-如果没有当前输入法可用或当前输入法不支持恢复操作。
public void dispatchEvent(AWTEvent event)
event
-事件
NullPointerException
-如果
event
是空的
public void removeNotify(Component client)
Component.removeNotify
方法称为。从该组件的输入方法中潜在挂起的输入被丢弃。如果没有可用的输入方法,那么这种方法没有任何效果。
client
客户端组件
NullPointerException
-如果
client
是空的
public void endComposition()
文本编辑组件可以在各种情况下调用此组件,例如,当用户在文本中移动插入点(但在所合成的文本之外),或者当组件的文本保存到文件或复制到剪贴板时。
public void dispose()
public Object getInputMethodControlObject()
如果没有可用的输入方法或当前的输入法不提供一个输入法控制对象,则返回空值。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.