- 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 int
CARET_POSITION_CHANGED
指示输入法文本中更改的插入点的事件类型。static int
INPUT_METHOD_FIRST
标记输入法事件ids范围的第一个整数ID。static int
INPUT_METHOD_LAST
标记输入法事件ids范围的最后一个整数ID。static int
INPUT_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 方法 描述 void
consume()
消耗此事件,使其不会以源自源的默认方式处理。TextHitInfo
getCaret()
得到插入符号。int
getCommittedCharacterCount()
获取文本中提交的字符数。AttributedCharacterIterator
getText()
获取组合的承诺和合成文本。TextHitInfo
getVisiblePosition()
获取最显着的位置。long
getWhen()
返回发生此事件的时间戳。boolean
isConsumed()
返回此事件是否已被使用。String
paramString()
返回标识此事件的参数字符串。-
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
- 结果
- 标识事件及其属性的字符串
-
-