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_MASK
source
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.