public class InputMethodEvent extends AWTEvent
输入法事件中包含的文本由两部分组成:提交文本和合成文本。 任一部分都可能是空的。 两个部分一起替代以前事件中发送的任何未提交的合成文本,或当前选择的提交文本。 提交的文本应该被集成到文本组件的持久性数据中,不会再发送。 组合的文本可能会重复发送,并进行更改以反映用户的编辑操作。 提交的文本总是在组合文本之前。
| Modifier and Type | Field and Description |
|---|---|
static int |
CARET_POSITION_CHANGED
指示输入法文本中更改的插入点的事件类型。
|
static int |
INPUT_METHOD_FIRST
标记输入法事件ids范围的第一个整数ID。
|
static int |
INPUT_METHOD_LAST
标记输入法事件ids范围的最后一个整数ID。
|
static int |
INPUT_METHOD_TEXT_CHANGED
事件类型指示改变的输入法文本。
|
ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, consumed, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, id, INPUT_METHOD_EVENT_MASK, INVOCATION_EVENT_MASK, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, MOUSE_WHEEL_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, WINDOW_STATE_EVENT_MASKsource| Constructor and Description |
|---|
InputMethodEvent(Component source, int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)
构造具有
InputMethodEvent源组件,类型,文本,插入符和visiblePosition的InputMethodEvent。
|
InputMethodEvent(Component source, int id, long when, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)
构造具有
InputMethodEvent源组件,类型,时间,文本,插入符和visiblePosition的InputMethodEvent。
|
InputMethodEvent(Component source, int id, TextHitInfo caret, TextHitInfo visiblePosition)
构造具有
InputMethodEvent源组件,类型,插入符和visiblePosition的InputMethodEvent。
|
| Modifier and Type | Method and Description |
|---|---|
void |
consume()
消耗此事件,使其不会以源自源的默认方式处理。
|
TextHitInfo |
getCaret()
得到插入符号。
|
int |
getCommittedCharacterCount()
获取文本中提交的字符数。
|
AttributedCharacterIterator |
getText()
获取组合的承诺和合成文本。
|
TextHitInfo |
getVisiblePosition()
获取最显着的位置。
|
long |
getWhen()
返回发生此事件的时间戳。
|
boolean |
isConsumed()
返回此事件是否已被使用。
|
String |
paramString()
返回标识此事件的参数字符串。
|
getSource@Native public static final int INPUT_METHOD_FIRST
@Native public static final int INPUT_METHOD_TEXT_CHANGED
@Native public static final int CARET_POSITION_CHANGED
@Native public static final int INPUT_METHOD_LAST
public InputMethodEvent(Component source, int id, long when, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)
InputMethodEvent与指定的源组件,类型,时间,文本,插入符和visiblePosition。
插入符号和visiblePosition的偏移量与当前组合文本相关; 也就是说,内撰写文本text如果这是一个INPUT_METHOD_TEXT_CHANGED情况下,内撰写文本text前述的INPUT_METHOD_TEXT_CHANGED事件否则。
请注意,传递无效的id会导致未指定的行为。 此方法抛出IllegalArgumentException如果source是null 。
source - 事件发生的对象
id - 事件类型
when - 指定事件发生时间的长整数
text - 组合的承诺和合成文本,承诺文本第一;
必须是null时事件类型是CARET_POSITION_CHANGED ;
对于INPUT_METHOD_TEXT_CHANGED可能是null如果没有提交或组合的文本
committedCharacterCount - 文本中提交的字符数
caret - 插入符号(又称插入点);
null如果当前组合文本中没有插入符号
visiblePosition - 最显着的位置;
null如果没有建议在当前组合文本中的可见位置
IllegalArgumentException - 如果id不在范围INPUT_METHOD_FIRST .. INPUT_METHOD_LAST ;
或者如果id是CARET_POSITION_CHANGED和text不是null ;
或如果committedCharacterCount不在范围0 .. (text.getEndIndex() - text.getBeginIndex())
IllegalArgumentException - 如果
source为空
public InputMethodEvent(Component source, int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)
InputMethodEvent的源组件,类型,文本,插入符号和visiblePosition的InputMethodEvent。
插入符号和visiblePosition的偏移量与当前组合文本相关; 也就是说,内撰写文本text如果这是一个INPUT_METHOD_TEXT_CHANGED情况下,内撰写文本text前述的INPUT_METHOD_TEXT_CHANGED事件否则。 此事件的时间戳通过调用EventQueue.getMostRecentEventTime()进行初始化 。
请注意,传递无效的id会导致未指定的行为。 此方法抛出IllegalArgumentException如果source是null 。
source - 事件发生的对象
id - 事件类型
text - 组合承诺和合成文本,承诺文本第一;
必须是null时事件类型是CARET_POSITION_CHANGED ;
如果没有提交或撰写文字,则可能是null的INPUT_METHOD_TEXT_CHANGED
committedCharacterCount - 文本中提交的字符数
caret - 插入符号(也称插入点);
null如果当前组合文本中没有插入符号
visiblePosition - 最重要的可见位置;
null如果没有建议在当前组合文本中的可见位置
IllegalArgumentException - 如果id不在范围INPUT_METHOD_FIRST .. INPUT_METHOD_LAST ;
或者如果id是CARET_POSITION_CHANGED和text不是null ;
或如果committedCharacterCount不在范围0 .. (text.getEndIndex() - text.getBeginIndex())
IllegalArgumentException - 如果
source为空
public InputMethodEvent(Component source, int id, TextHitInfo caret, TextHitInfo visiblePosition)
InputMethodEvent源组件,类型,插入符和visiblePosition的InputMethodEvent。
文本设置为null , committedCharacterCount为0。
caret和visiblePosition的偏移量相对于当前组合文本; 即如果事件被构造为CARET_POSITION_CHANGED事件,则前面INPUT_METHOD_TEXT_CHANGED事件的text中的组合文本。 对于没有文字的INPUT_METHOD_TEXT_CHANGED事件, caret和visiblePosition必须是null 。 此事件的时间戳通过调用EventQueue.getMostRecentEventTime()进行初始化 。
请注意,传递无效的id会导致未指定的行为。 此方法抛出IllegalArgumentException如果source是null 。
source - 事件发生的对象
id - 事件类型
caret - 插入符号(也称插入点);
null如果当前组合文本中没有插入符号
visiblePosition - 最显着的位置;
null如果没有建议在当前组合文本中的可见位置
IllegalArgumentException - 如果
id不在范围
INPUT_METHOD_FIRST ..
INPUT_METHOD_LAST
IllegalArgumentException - 如果
source为空
public AttributedCharacterIterator getText()
getCommittedCharacterCount() - 1都是提交文本,其余的字符都是文本。
public int getCommittedCharacterCount()
public TextHitInfo getCaret()
插入符的偏移量与当前组合文本相对应; 也就是getText()中的组合文本,如果这是一个INPUT_METHOD_TEXT_CHANGED事件,则INPUT_METHOD_TEXT_CHANGED事件的getText()中的合成INPUT_METHOD_TEXT_CHANGED否则。
public TextHitInfo getVisiblePosition()
可见位置的偏移量相对于当前组合文本; 也就是getText()中的组合文本,如果这是一个INPUT_METHOD_TEXT_CHANGED事件,则INPUT_METHOD_TEXT_CHANGED事件的getText()中的合成INPUT_METHOD_TEXT_CHANGED否则。
public boolean isConsumed()
isConsumed在类别
AWTEvent
consume()
public long getWhen()
public String paramString()
paramString在类别
AWTEvent
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.