- 所有已实现的接口:
-
Serializable
输入法事件中包含的文本由两部分组成: 已提交文本和组合文本。任一部分都可能为空。这两部分一起替换了先前事件中发送的任何未提交的组合文本,或当前选定的已提交文本。已提交文本应该被集成到文本组件的持久数据中,不会再次发送。组合文本可能会重复发送,以反映用户的编辑操作。已提交文本始终位于组合文本之前。
- 自:
- 1.2
- 参见:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
表示输入法文本中插入点发生变化的事件类型。static final int
标记输入法事件id范围的第一个整数id。static final int
标记输入法事件id范围的最后一个整数id。static final int
表示输入法文本发生变化的事件类型。Fields declared in class java.awt.AWTEvent
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
Fields declared in class java.util.EventObject
source
-
Constructor Summary
ConstructorDescriptionInputMethodEvent
(Component source, int id, long when, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition) 使用指定的源组件、类型、时间、文本、插入点和可见位置构造一个InputMethodEvent
。InputMethodEvent
(Component source, int id, TextHitInfo caret, TextHitInfo visiblePosition) 使用指定的源组件、类型、插入点和可见位置构造一个InputMethodEvent
。InputMethodEvent
(Component source, int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition) 使用指定的源组件、类型、文本、插入点和可见位置构造一个InputMethodEvent
。 -
Method Summary
Methods declared in class java.util.EventObject
getSource
-
Field Details
-
INPUT_METHOD_FIRST
标记输入法事件id范围的第一个整数id。- 参见:
-
INPUT_METHOD_TEXT_CHANGED
表示输入法文本发生变化的事件类型。此事件由输入法在处理输入时生成。- 参见:
-
CARET_POSITION_CHANGED
表示输入法文本中插入点发生变化的事件类型。此事件由输入法在处理输入时生成,如果只有插入点发生了变化。- 参见:
-
INPUT_METHOD_LAST
标记输入法事件id范围的最后一个整数id。- 参见:
-
-
Constructor Details
-
InputMethodEvent
public InputMethodEvent(Component source, int id, long when, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition) 使用指定的源组件、类型、时间、文本、插入点和可见位置构造一个InputMethodEvent
。插入点和可见位置的偏移量是相对于当前组合文本的;也就是说,如果这是一个
INPUT_METHOD_TEXT_CHANGED
事件,则在text
中的组合文本,否则在前一个INPUT_METHOD_TEXT_CHANGED
事件的text
中的组合文本。请注意,传入无效的
id
会导致未指定的行为。如果source
为null
,此方法将抛出IllegalArgumentException
。- 参数:
-
source
- 事件来源的对象 -
id
- 事件类型 -
when
- 指定事件发生时间的长整型整数 -
text
- 组合的已提交和组合文本,已提交文本优先;当事件类型为CARET_POSITION_CHANGED
时必须为null
;如果没有已提交或组合文本,则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
为null - 自:
- 1.4
-
InputMethodEvent
public InputMethodEvent(Component source, int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition) 使用指定的源组件、类型、文本、插入点和可见位置构造一个InputMethodEvent
。插入点和可见位置的偏移量是相对于当前组合文本的;也就是说,如果这是一个
INPUT_METHOD_TEXT_CHANGED
事件,则在text
中的组合文本,否则在前一个INPUT_METHOD_TEXT_CHANGED
事件的text
中的组合文本。此事件的时间戳通过调用EventQueue.getMostRecentEventTime()
进行初始化。请注意,传入无效的
id
会导致未指定的行为。如果source
为null
,此方法将抛出IllegalArgumentException
。- 参数:
-
source
- 事件来源的对象 -
id
- 事件类型 -
text
- 组合的已提交和组合文本,已提交文本优先;当事件类型为CARET_POSITION_CHANGED
时必须为null
;如果没有已提交或组合文本,则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
为null
-
InputMethodEvent
使用指定的源组件、类型、插入点和可见位置构造一个InputMethodEvent
。文本设置为null
,committedCharacterCount
设置为0。插入点和可见位置的偏移量是相对于当前组合文本的;也就是说,如果正在构造的事件作为
CARET_POSITION_CHANGED
事件,则在前一个INPUT_METHOD_TEXT_CHANGED
事件的text
中的组合文本。对于没有文本的INPUT_METHOD_TEXT_CHANGED
事件,caret
和visiblePosition
必须为null
。此事件的时间戳通过调用EventQueue.getMostRecentEventTime()
进行初始化。请注意,传入无效的
id
会导致未指定的行为。如果source
为null
,此方法将抛出IllegalArgumentException
。- 参数:
-
source
- 事件来源的对象 -
id
- 事件类型 -
caret
- 插入点;如果当前组合文本中没有插入点,则为null
-
visiblePosition
- 最重要的可见位置;如果当前组合文本中没有建议的可见位置,则为null
- 抛出:
-
IllegalArgumentException
- 如果id
不在范围INPUT_METHOD_FIRST
..INPUT_METHOD_LAST
内 -
IllegalArgumentException
- 如果source
为null
-
-
Method Details
-
getText
获取组合的已提交和组合文本。从索引0到索引getCommittedCharacterCount() - 1
的字符是已提交文本,其余字符是组合文本。- 返回:
- 文本。对于CARET_POSITION_CHANGED始终为null;如果没有组合或已提交文本,则对于INPUT_METHOD_TEXT_CHANGED可能为null。
-
getCommittedCharacterCount
public int getCommittedCharacterCount()获取文本中已提交字符的数量。- 返回:
- 文本中已提交字符的数量
-
getCaret
获取插入符。插入符的偏移量是相对于当前组合文本的;也就是说,如果这是一个
INPUT_METHOD_TEXT_CHANGED
事件,则是在getText()中的组合文本,否则是在前一个INPUT_METHOD_TEXT_CHANGED
事件的getText()中的组合文本。- 返回:
- 插入符(又称插入点)。如果当前组合文本中没有插入符,则返回null。
-
getVisiblePosition
获取最重要的可见位置。可见位置的偏移量是相对于当前组合文本的;也就是说,如果这是一个
INPUT_METHOD_TEXT_CHANGED
事件,则是在getText()中的组合文本,否则是在前一个INPUT_METHOD_TEXT_CHANGED
事件的getText()中的组合文本。- 返回:
- 最重要的可见位置。如果当前组合文本中没有建议的可见位置,则返回null。
-
consume
public void consume()消耗此事件,以使其不会被产生它的源默认方式处理。 -
isConsumed
public boolean isConsumed()返回此事件是否已被消耗。- 覆盖:
-
isConsumed
在类AWTEvent
- 返回:
-
如果此事件已被消耗,则返回
true
;否则返回false
- 参见:
-
getWhen
public long getWhen()返回此事件发生的时间戳。- 返回:
- 此事件的时间戳
- 自:
- 1.4
-
paramString
返回标识此事件的参数字符串。此方法对于事件记录和调试很有用。它包含以文本形式的事件ID,由“+”分隔的已提交和组合文本的字符,已提交字符的数量,插入符和可见位置。- 覆盖:
-
paramString
在类AWTEvent
- 返回:
- 标识事件及其属性的字符串
-