|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.awt.event
类 InputMethodEvent
java.lang.Object java.util.EventObject java.awt.AWTEvent java.awt.event.InputMethodEvent
- 所有已实现的接口:
- Serializable
-
public class InputMethodEvent
- extends AWTEvent
输入方法事件包含有关使用输入方法进行撰写的文本的信息。只要文本发生变化,输入方法就会发送一个事件。如果当前正在使用输入方法的文本组件是活动的客户端,则将事件指派给该组件。否则,将事件指派给单独的组合窗口。
涉及输入方法事件的文本由两部分组成:已提交文本和撰写文本。任何一个部分都可以为空。两部分一起替代了前一事件中发送的未提交的撰写文本,或当前选定的已提交文本。已提交文本应该整合到文本组件的持久数据中,它将不会再次发送。撰写的文本可能会反复修改和发送,以反映用户的编辑操作。已提交文本始终在撰写文本之前。
- 从以下版本开始:
- 1.2
- 另请参见:
- 序列化表格
字段摘要 | |
---|---|
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.util.EventObject 继承的字段 |
---|
source |
构造方法摘要 | |
---|---|
InputMethodEvent(Component source, int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition) 通过指定源组件、类型、文本、插入符和 visiblePosition 来构造 InputMethodEvent 。 |
|
InputMethodEvent(Component source, int id, long when, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition) 通过指定源组件、类型、时间、文本、插入符和 visiblePosition 来构造 InputMethodEvent 。 |
|
InputMethodEvent(Component source, int id, TextHitInfo caret, TextHitInfo visiblePosition) 通过指定源组件、类型、插入符和 visiblePosition 来构造 InputMethodEvent 。 |
方法摘要 | |
---|---|
void |
consume() 使用此事件,以便不会按默认方式由产生此事件的源代码来处理此事件。 |
TextHitInfo |
getCaret() 获取插入符。 |
int |
getCommittedCharacterCount() 获取文本中已提交字符的数量。 |
AttributedCharacterIterator |
getText() 获取已提交文本和撰写文本的组合。 |
TextHitInfo |
getVisiblePosition() 获取对于可见性至关重要的位置。 |
long |
getWhen() 返回此事件发生时的时间戳。 |
boolean |
isConsumed() 返回是否已经使用此事件。 |
String |
paramString() 返回标识此事件的参数字符串。 |
从类 java.awt.AWTEvent 继承的方法 |
---|
getID, setSource, toString |
从类 java.util.EventObject 继承的方法 |
---|
getSource |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
INPUT_METHOD_FIRST
public static final int INPUT_METHOD_FIRST
-
标记输入方法事件 id 范围内的第一个整数 id。
- 另请参见:
- 常量字段值
INPUT_METHOD_TEXT_CHANGED
public static final int INPUT_METHOD_TEXT_CHANGED
-
事件类型,它指示修改的输入方法文本。此事件由输入方法在处理输入时生成。
- 另请参见:
- 常量字段值
CARET_POSITION_CHANGED
public static final int CARET_POSITION_CHANGED
-
事件类型,它指示输入方法文本中修改的插入点。此事件由输入方法在处理仅有插入符修改的输入时生成。
- 另请参见:
- 常量字段值
INPUT_METHOD_LAST
public static final int INPUT_METHOD_LAST
-
标记输入方法事件 id 范围内最后一个整数 id。
- 另请参见:
- 常量字段值
构造方法详细信息 |
---|
InputMethodEvent
public InputMethodEvent(Component source, int id, long when, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition)
-
通过指定源组件、类型、时间、文本、插入符和 visiblePosition 来构造
InputMethodEvent
。插入符和 visiblePosition 的偏移量与当前撰写的文本有关;也就是说,如果是
INPUT_METHOD_TEXT_CHANGED
事件,则为text
中的撰写文本;否则为前面INPUT_METHOD_TEXT_CHANGED
事件的text
中的撰写文本。注意,传递无效的
id
会导致不明确的行为。如果source
为null
,则此方法抛出IllegalArgumentException
。- 参数:
-
source
- 产生事件的对象 -
id
- 事件类型 -
when
- 指定事件发生时间的 long 整数 -
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)
-
通过指定源组件、类型、文本、插入符和 visiblePosition 来构造
InputMethodEvent
。插入符和 visiblePosition 的偏移量与当前撰写的文本有关;也就是说,如果是
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
public InputMethodEvent(Component source, int id, TextHitInfo caret, TextHitInfo visiblePosition)
-
通过指定源组件、类型、插入符和 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
会导致不明确的行为。如果source
为null
,则此方法抛出IllegalArgumentException
。- 参数:
-
source
- 产生事件的对象 -
id
- 事件类型 -
caret
- 插入符(也叫插入点);如果当前撰写文本中无任何插入符,则为null
-
visiblePosition
- 对于可见性至关重要的位置;如果当前撰写文本中对于可见位置无任何建议,则为null
- 抛出:
-
IllegalArgumentException
- 如果id
不在INPUT_METHOD_FIRST
到INPUT_METHOD_LAST
范围内 -
IllegalArgumentException
- 如果source
为 null
方法详细信息 |
---|
getText
public AttributedCharacterIterator getText()
-
获取已提交文本和撰写文本的组合。从索引 0 到索引
getCommittedCharacterCount() - 1
的字符为已提交文本,其余字符为撰写文本。 -
- 返回:
- 文本。对于 CARET_POSITION_CHANGED 始终为 null;如果没有任何撰写文本或已提交文本,则对于 INPUT_METHOD_TEXT_CHANGED 可能为 null。
getCommittedCharacterCount
public int getCommittedCharacterCount()
- 获取文本中已提交字符的数量。
-