- java.lang.Object
-
- java.util.EventObject
-
- java.awt.AWTEvent
-
- java.awt.event.InputMethodEvent
-
- All Implemented Interfaces:
-
Serializable
public class InputMethodEvent extends AWTEvent
输入法事件包含使用输入法组合的文本信息。 每当文本更改时,输入法都会发送一个事件。 如果当前正在使用输入法的文本组件是活动客户端,则会将事件分派到该组件。 否则,它将被分派到单独的组合窗口。输入法事件中包含的文本由两部分组成:提交文本和合成文本。 任一部分都可能是空的。 两个部分一起替代以前事件中发送的任何未提交的合成文本,或当前选择的提交文本。 提交的文本应该被集成到文本组件的持久性数据中,不会再发送。 组合的文本可能会重复发送,并进行更改以反映用户的编辑操作。 提交的文本总是在组合文本之前。
- 从以下版本开始:
- 1.2
- 另请参见:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field 描述 static intCARET_POSITION_CHANGED指示输入法文本中更改的插入点的事件类型。static intINPUT_METHOD_FIRST标记输入法事件ids范围的第一个整数ID。static intINPUT_METHOD_LAST标记输入法事件ids范围的最后一个整数ID。static intINPUT_METHOD_TEXT_CHANGED事件类型指示改变的输入法文本。-
Fields inherited from 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 inherited from class java.util.EventObject
source
-
-
构造方法摘要
构造方法 Constructor 描述 InputMethodEvent(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。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 voidconsume()消耗此事件,使其不会以源自源的默认方式处理。TextHitInfogetCaret()得到插入符号。intgetCommittedCharacterCount()获取文本中提交的字符数。AttributedCharacterIteratorgetText()获取组合的承诺和合成文本。TextHitInfogetVisiblePosition()获取最显着的位置。longgetWhen()返回发生此事件的时间戳。booleanisConsumed()返回此事件是否已被使用。StringparamString()返回标识此事件的参数字符串。-
Methods inherited from class java.util.EventObject
getSource
-
-
-
-
字段详细信息
-
INPUT_METHOD_FIRST
@Native public static final int INPUT_METHOD_FIRST
标记输入法事件ids范围的第一个整数ID。- 另请参见:
- Constant Field Values
-
INPUT_METHOD_TEXT_CHANGED
@Native public static final int INPUT_METHOD_TEXT_CHANGED
事件类型指示改变的输入法文本。 该事件在处理输入时由输入法生成。- 另请参见:
- Constant Field Values
-
CARET_POSITION_CHANGED
@Native public static final int CARET_POSITION_CHANGED
指示输入法文本中更改的插入点的事件类型。 如果只有插入符号改变,则处理输入时,此事件由输入法生成。- 另请参见:
- Constant Field Values
-
INPUT_METHOD_LAST
@Native public static final int INPUT_METHOD_LAST
标记输入法事件ids范围的最后一个整数ID。- 另请参见:
- Constant Field Values
-
-
构造方法详细信息
-
InputMethodEvent
public InputMethodEvent(Component source, int id, long when, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)
构造具有指定的源组件,类型,时间,文本,插入符和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。插入符号和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- 最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。 文本设置为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- 最visiblePosition着的位置;null如果没有建议在当前组合文本中的可见位置 - 异常
-
IllegalArgumentException- 如果id不在范围INPUT_METHOD_FIRST..INPUT_METHOD_LAST -
IllegalArgumentException- 如果source为空
-
-
方法详细信息
-
getText
public AttributedCharacterIterator getText()
获取组合的承诺和合成文本。 从索引0到索引getCommittedCharacterCount() - 1是提交文本,其余的字符都是文本。- 结果
- 文本。 CARET_POSITION_CHANGED始终为空; 如果没有组合或提交的文本,则INPUT_METHOD_TEXT_CHANGED可能为null。
-
getCommittedCharacterCount
public int getCommittedCharacterCount()
获取文本中提交的字符数。- 结果
- 文字中承诺的字符数
-
getCaret
public TextHitInfo getCaret()
得到插入符号。插入符的偏移量与当前组合文本相对应; 也就是getText()中的组合文本,如果这是一个
INPUT_METHOD_TEXT_CHANGED事件,则前面的INPUT_METHOD_TEXT_CHANGED事件的getText()中的合成文本不然。- 结果
- 插入符号(也称插入点)。 如果当前组合文本中没有插入符号,则为空。
-
getVisiblePosition
public TextHitInfo getVisiblePosition()
获取最显着的位置。可见位置的偏移量相对于当前组合文本; 也就是getText()中的组合文本,如果这是一个
INPUT_METHOD_TEXT_CHANGED事件,则前面的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 - 结果
- 标识事件及其属性的字符串
-
-