javatm platform
standard ed. 6

java.awt.im
类 inputcontext

java.lang.object 继承者 java.awt.im.inputcontext

public class inputcontext
extends object

提供控制诸如输入方法和键盘布局之类的文本输入设施的方法。两种方法可以{ kě yǐ}处理输入方法和键盘布局:selectinputmethod 让客户{kè hù}端组件根据语言环境选择输入方法或键盘布局;getlocale 让客户{kè hù}端组件获得当前输入方法或键盘布局的语言环境。其他{qí tā}方法更明确地支持{support}与输入方法之间的交互:它们让客户端组件控制输入方法的行为,并将客户端组件中的事件指派到该输入方法。

在默认情况下,每个 window 实例创建一个 inputcontext 实例,并且窗口的容器层次结构内部所有{suǒ yǒu}组件都共享此输入上下文。不过,这意味着在一个窗口中每一次只能进行一项文本输入操作,并且该文本需要在将焦点从一个文本组件中移到另一文本组件时提交。如果不需要此项操作,则文本组件可以{ kě yǐ}创建自己{zì jǐ}的输入上下文实例。

java 平台支持{support}使用 java.awt.im.spi 包中的接口在 java 编程语言中开发{developing}而且{but}作为扩展安装在 java se 运行时环境中的输入方法。实现还可以支持使用其运行平台上的本机输入方法;不过,不是所有平台和语言环境都提供输入方法。键盘布局由主机平台提供。

如果 (a) 没有安装使用 java 编程语言编写的输入方法和 (b) java 平台实现或基础平台不支持本机输入方法,则输入方法不可用。在这种情况下,仍要创建和使用输入上下文;其行为可以根据下面的具体方法指定。

从以下版本开始{kāi shǐ}:
1.2
另请参见:
component.getinputcontext(),component.enableinputmethods(boolean)

构造方法摘要
protected inputcontext()
          构造一个 inputcontext。
 
方法摘要
 voiddispatchevent(awtevent event)
          将事件指派到处于活动状态的输入方法。
 voidjs随机数dispose()
          释放由此输入上下文使用过的资源。
 voidendcomposition()
          结束{jié shù}当前可能{kě néng}在此上下文进行的任何输入撰写。
 objectgetinputmethodcontrolobject()
          返回当前输入方法中的一个控制对象,或 null。
static inputcontextgetinstance()
          返回新 inputcontext 实例。
 localegetlocale()
          返回当前输入方法或键盘布局的当前语言环境。
 booleaniscompositionenabled()
          确定是否已启用当前输入方法以进行撰写。
 voidreconvert()
          让当前输入方法从当前客户端组件中恢复文本。
 voidremovenotify(component client)
          通知{tōng zhī}输入上下文,客户端组件已从它的包含层次结构中移除,或该组件已禁用输入方法支持。
 booleanselectinputmethod(locale locale)
          试图选择一个支持给定语言环境的输入方法或键盘布局,并返回指示是否成功{chéng gōng}选定此类输入方法或键盘布局的值。
 voidsetcharactersubsets(character.subset[] subsets)
          设置此输入上下文的输入方法应允许{yǔn xǔ}输入的 unicode 字符集的子集。
 voidsetcompositionenabled(boolean enable)
          根据参数 enable 的值启用或禁用当前输入方法进行撰写。
 
从类 java.lang.object 继承的方法
clone, equals, finalize, getclass, hashcode, notify, notifyall, tostring, wait, wait, wait
 

构造方法详细衶sense}畔

inputcontext

protected inputcontext
的感觉{很爽},会一根睫毛接2至3根,虽然效果看起来很华丽,但却让睫毛承受了过重的重量{zhòng liàng},容易导致断裂或是掉落的问题{wèn tí},最后睫毛变得越来越细小稀疏,池田也指出,一般日本{rì běn}女性的睫毛比较浓密,通常都可以接到100至150根,有些甚至可以接到200根,不过台湾{中国台湾省}大多约是80至100根左右
台湾{中国台湾省}网路购物{shopping}节于去(2014)年双10首度{ dù}登场后,今年经济{jīng jì}部再次集结东森购物{shopping}、森森购物、博客来
国王企鹅的旧家施工完成,保育员赶紧清洗水池整理环境,除旧布新?时富队?蠖旎丶夜?年
同时,苹果在中国{China}市场经营有成,中国{China}贡献营收相当可观,远超分析师预期
其中,魏德圣谈到他的第一本书《黄金鱼{fish}将撒母耳》之际,吐露了自己{zì jǐ}刚买新房子时因为没有工作{gōng zuò},以写剧本逃避的尴尬,以及跟丈母娘住在一起{stay}{with},产生另类
(Thrones)系列最为知名,代表作为《爱{love}与寂寞的王座》(Loves with loneliness throne)
()
构造一个 inputcontext。此方法受到保护,所以客户端不能直接实例化 inputcontext。输入上下文通过调用 getinstance() 获得。

方法详细信息

getinstance

public static inputcontext getinstance()
返回新 inputcontext 实例。


selectinputmethod

public boolean selectinputmethod(locale locale)
试图选择一个支持给定语言环境的输入方法或键盘布局,并返回指示是否成功{chéng gōng}选定此类输入方法或键盘布局的值。按以下步骤操作,直到选定了输入方法:

切换输入方法之前,提交当前任何未提交的文本。如果没有支持所请求语言环境的输入方法或键盘布局,则返回 false。

不是所有主机操作系统都提供 api 来确定当前已选定的本机输入方法或键盘布局的语言环境,和选择语言环境的本机输入方法或键盘布局。对于未提供此类 api 的主机操作系统而言,selectinputmethod 假定该主机操作系统提供的本机输入方法或键盘布局只支持该系统默认的语言环境。

例如,当用户更改插入点时,文本编辑组件可能{kě néng}调用此方法,让用户立即使用周围文本的语言继续键入。

参数:
locale - 所需的新语言环境。
返回:
true 如果此调用后处于活动状态的输入方法或键盘布局支持所需语言环境。
抛出:
nullpointerexception - 如果 locale 为 null

getlocale

public locale getlocale()
返回当前输入方法或键盘布局的当前语言环境。如果输入上下文没有当前输入方法或键盘布局,或者当前输入方法的 inputmethod.getlocale() 方法返回 null,则返回 null。

不是所有主机操作系统都提供 api 来确定当前已选定的本机输入方法或键盘布局的语言环境。对于未提供此类 api 的主机操作系统而言,getlocale 假定该主机操作系统提供的所有本机输入方法或键盘布局的当前语言环境是该系统的默认语言环境。

返回:
当前输入方法或键盘布局的当前语言环境
从以下版本开始{kāi shǐ}:
1.3

setcharactersubsets

public void setcharactersubsets(character.subset[] subsets)
设置此输入上下文的输入方法应允许{yǔn xǔ}输入的 unicode 字符集的子集。可能会传入 null,以指示允许输入所有字符。初始值为 null。该设置适用于当前输入方法,也适用于进行此调用后选定的输入方法。不过,应用程序不能依靠此具有所需影响的调用,因为不能将此设置传递到所有主机输入方法 - 应用程序仍需要应用自己的字符验证。如果没有可用的输入方法,则此方法不起作用。

参数:
subsets - 可以从其输入字符的 unicode 字符集的子集

setcompositionenabled

public void setcompositionenabled(boolean enable)
根据参数 enable 的值启用或禁用当前输入方法进行撰写。

撰写中已启用的输入方法将解释用于撰写和控制的传入事件,而禁用的输入方法不会解释用于撰写的事件。但要注意{危险信号},不管是否已启用该输入方法,都要将事件传入其中;已禁用进行撰写的输入方法可能仍会因控制目的而解释事件,包括{bāo kuò}启用或禁用自身进行撰写。

因为输入方法是由主机操作系统提供的,所以可能无法{to be}一直确定是否支持此项操作。例如,一个输入方法可能只对某些语言环境启用撰写,而对另一些语言环境不执行任何操作。对于此类输入方法,此方法可能不会抛出 unsupportedoperationexception,并且也不会影响是否已启用撰写。

参数:
enable - 是否启用撰写的当前输入方法
抛出:
unsupportedoperationexception - 如果没有当前可用的输入方法或当前输入方法不支持启用/禁用操作
从以下版本开始:
1.3
另请参见:
iscompositionenabled()

iscompositionenabled

public boolean iscompositionenabled()
确定是否已启用当前输入方法以进行撰写。撰写中已启用的输入方法将解释用于撰写和控制的传入事件,而禁用的输入方法不会解释用于撰写的事件。

返回:
如果当前输入方法已启用撰写,则返回 true;否则返回 false
抛出:
unsupportedoperationexception - 如果没有当前可用的输入方法或当前输入方法不支持检查是否已启用撰写
从以下版本开始:
1.3
另请参见:
setcompositionenabled(boolean)

reconvert

public void reconvert()
让当前输入方法从当前客户端组件中恢复文本。该输入方法使用 inputmethodrequests.getselectedtext 方法获得要从客户端组件恢复的文本。必须准备{zhǔn bèi}其他{qí tā} inputmethodrequests 方法来处理该输入方法需要的深层信息请求。将撰写文本和/或提交文本作为 inputmethodevent 的序列发送到客户端组件。如果输入方法不能恢复给定的文本,则会将该文本作为 inputmethodevent 中的提交文本返回。

抛出:
unsupportedoperationexception - 如果没有当前可用的输入方法,或当前输入方法不支持恢复操作。
从以下版本开始:
1.3

dispatchevent

public void dispatcheventjs随机数(awtevent event)
将事件指派到处于活动状态的输入方法。由 awt 调用。如果没有可用的输入方法,则永远无法{to be}使用该事件。

参数:
event - 事件
抛出:
nullpointerexception - 如果 event 为 null

removenotify

public void removenotify(component client)
通知{tōng zhī}输入上下文,客户端组件已从它的包含层次结构中移除,或该组件已禁用输入方法支持。此方法通常从客户端组件的 component.removenotify 方法中调用。丢弃此组件的输入方法中可能挂起的输入。如果没有可用的输入方法,则此方法不起作用。

参数:
client - 客户端组件
抛出:
nullpointerexception - 如果 client网站地图 手机端 为 null

endcomposition

public void endcomposition()
结束{jié shù}当前可能在此上下文进行的任何输入撰写。这样{then}做可能会提交或删除未提交的文本,具体取决于平台和用户可能做出的首选项。对该文本做出的任何更改都可以使用一个输入方法事件传送到处于活动状态的组件。如果没有可用的输入方法,则此方法不起作用。

编辑组件的文本可以在各种情况下调用此方法,例如,用户可在文本内(但在撰写文本外)移动插入点时,或者在将组件的文本保存到文件上或复制到粘贴板上时都可调用。


dispose

public void dispose()
释放由此输入上下文使用过的资源。由 awt 调用,用于每个 window 的默认输入上下文。如果没有可用的输入方法,则此方法不起作用。


getinputmethodcontrolobject

public object getinputmethodcontrolobject()
返回当前输入方法中的一个控制对象,或 null。控制对象提供了控制该输入方法的行为或从该输入方法获得信息的方法。对象的类型是输入方法的特定类。客户端必须将其结果与已知输入方法的控制对象类进行对比,并强制转换为适当的类,以调用所提供的方法。

如果没有可用的输入方法,或当前输入方法没有提供输入方法控制对象,则返回 null。

返回:
当前输入方法中的一个控制对象,或 null。

javatm platform
standard ed. 6

提交错误或意见{yì jian}
有关更多的 api 参考资料和开发{developing}人员文档,请参阅 java se 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作{gōng zuò}代码示例。

版权所有 2007 sun microsystems, inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策