- java.lang.Object
-
- java.util.EventObject
-
- java.awt.AWTEvent
-
- java.awt.event.InputMethodEvent
-
- 实现的所有接口
-
Serializable
public class InputMethodEvent extends AWTEvent
输入方法事件包含有关使用输入方法组合的文本的信息。 每当文本更改时,输入方法都会发送一个事件。 如果当前使用输入方法的文本组件是活动客户端,则会将事件分派给该组件。 否则,将其分派到单独的合成窗口。输入方法事件中包含的文本由两部分组成:已提交文本和组合文本。 任何一个部分都可能是空的。 这两个部分一起替换先前事件中发送的任何未提交的组合文本或当前选定的已提交文本。 承诺文本应该集成到文本组件的持久数据中,不会再次发送。 可以重复发送组合文本,并进行更改以反映用户的编辑操作。 提交的文本始终位于组合文本之前。
- 从以下版本开始:
- 1.2
- 另请参见:
- Serialized Form
-
-
字段汇总
字段 变量和类型 字段 描述 static int
CARET_POSITION_CHANGED
事件类型指示输入方法文本中更改的插入点。static int
INPUT_METHOD_FIRST
标记输入方法事件ID范围的第一个整数id。static int
INPUT_METHOD_LAST
标记输入方法事件ID范围的最后一个整数id。static int
INPUT_METHOD_TEXT_CHANGED
事件类型指示已更改的输入方法文本。-
声明的属性在类 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
-
声明的属性在类 java.util.EventObject
source
-
-
构造方法摘要
构造方法 构造器 描述 InputMethodEvent(Component source, int id, long when, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)
使用指定的源组件,类型,时间,文本,插入符号和InputMethodEvent
构造一个InputMethodEvent
。InputMethodEvent(Component source, int id, TextHitInfo caret, TextHitInfo visiblePosition)
使用指定的源组件,类型,插入符号和InputMethodEvent
构造一个InputMethodEvent
。InputMethodEvent(Component source, int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)
使用指定的源组件,类型,文本,插入符号和InputMethodEvent
构造一个InputMethodEvent
。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 void
consume()
使用此事件,以便由发起它的源以默认方式处理它。TextHitInfo
getCaret()
获取插入符号。int
getCommittedCharacterCount()
获取文本中已提交字符的数量。AttributedCharacterIterator
getText()
获取组合的已提交和组合文本。TextHitInfo
getVisiblePosition()
获取最重要的可见位置。long
getWhen()
返回此事件发生时的时间戳。boolean
isConsumed()
返回是否已使用此事件。String
paramString()
返回标识此事件的参数字符串。-
声明方法的类 java.util.EventObject
getSource
-
-
-
-
字段详细信息
-
INPUT_METHOD_FIRST
@Native public static final int INPUT_METHOD_FIRST
标记输入方法事件ID范围的第一个整数id。- 另请参见:
- 常数字段值
-
INPUT_METHOD_TEXT_CHANGED
@Native public static final int INPUT_METHOD_TEXT_CHANGED
事件类型指示已更改的输入方法文本。 处理输入时,输入方法会生成此事件。- 另请参见:
- 常数字段值
-
CARET_POSITION_CHANGED
@Native public static final int CARET_POSITION_CHANGED
事件类型指示输入方法文本中更改的插入点。 如果仅更改插入符,则在处理输入时由输入方法生成此事件。- 另请参见:
- 常数字段值
-
-
构造方法详细信息
-
InputMethodEvent
public InputMethodEvent(Component source, int id, long when, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)
使用指定的源组件,类型,时间,文本,插入符号和InputMethodEvent
构造一个InputMethodEvent
。插入符号和visiblePosition的偏移量与当前组合文本相关; 也就是说,内撰写文本
text
,如果这是一个INPUT_METHOD_TEXT_CHANGED
情况下,内撰写文本text
前述的INPUT_METHOD_TEXT_CHANGED
事件否则。请注意,传入无效的
id
导致未指定的行为。 此方法抛出IllegalArgumentException
如果source
为null
。- 参数
-
source
- 事件发起的对象 -
id
- 活动类型 -
when
- 一个长整数,指定事件发生的时间 -
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
为空 - 从以下版本开始:
- 1.4
-
InputMethodEvent
public InputMethodEvent(Component source, int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)
使用指定的源组件,类型,文本,插入符号和InputMethodEvent
构造一个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
为空
-
InputMethodEvent
public InputMethodEvent(Component source, int id, TextHitInfo caret, TextHitInfo visiblePosition)
使用指定的源组件,类型,插入符号和InputMethodEvent
构造一个InputMethodEvent
。 文本设置为null
,committedCharacterCount
0。caret
和visiblePosition
的偏移量与当前组合文本相关; 即,内撰写文本text
前述的INPUT_METHOD_TEXT_CHANGED
事件,如果事件被构造为CARET_POSITION_CHANGED
事件。 对于没有文本的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
为空
-
-
方法详细信息
-
getText
public AttributedCharacterIterator getText()
获取组合的已提交和组合文本。 索引0到索引getCommittedCharacterCount() - 1
是提交文本,其余字符是组合文本。- 结果
- 文本。 CARET_POSITION_CHANGED始终为null; 如果没有合成或提交的文本,则INPUT_METHOD_TEXT_CHANGED可以为null。
-
getCommittedCharacterCount
public int getCommittedCharacterCount()
获取文本中已提交字符的数量。- 结果
- 文本中已提交字符的数量
-
getCaret
public TextHitInfo getCaret()
获取插入符号。插入符的偏移量相对于当前组合文本; 也就是说,如果这是一个
INPUT_METHOD_TEXT_CHANGED
事件,则getText()中的组合文本,否则是前面的INPUT_METHOD_TEXT_CHANGED
事件的getText()中的组合文本。- 结果
- 插入符号(又名插入点)。 如果当前组合文本中没有插入符号,则为空。
-
getVisiblePosition
public TextHitInfo getVisiblePosition()
获取最重要的可见位置。可见位置的偏移量相对于当前组合文本; 也就是说,如果这是一个
INPUT_METHOD_TEXT_CHANGED
事件,则getText()中的组合文本,否则为前一个INPUT_METHOD_TEXT_CHANGED
事件的getText()中的组合文本。- 结果
- 最重要的位置是可见的。 如果在当前组合文本中没有建议可见位置,则为空。
-
isConsumed
public boolean isConsumed()
返回是否已使用此事件。- 重写:
-
isConsumed
在类AWTEvent
- 结果
-
true
如果此事件已被消耗; 否则false
- 另请参见:
-
consume()
-
getWhen
public long getWhen()
返回此事件发生时的时间戳。- 结果
- 这个事件的时间戳
- 从以下版本开始:
- 1.4
-
paramString
public String paramString()
返回标识此事件的参数字符串。 此方法对于事件记录和调试很有用。 它包含文本形式的事件ID,以“+”分隔的已提交和组合文本的字符,已提交字符的数量,插入符号和可见位置。- 重写:
-
paramString
类AWTEvent
- 结果
- 标识事件及其属性的字符串
-
-