JavaTM 2 Platform
Standard Ed. 6

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.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, 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 會導致不明確的行為。如果 sourcenull,則此方法拋出 IllegalArgumentException

參數:
source - 產生事件的物件
id - 事件型別
when - 指定事件發生時間的 long 整數
text - 已提交文本和撰寫文本的組合,已提交文本在前;如果事件型別為 CARET_POSITION_CHANGED,則必須為 null;對於 INPUT_METHOD_TEXT_CHANGED 事件來說,如果無任何已提交文本或撰寫文本,則可能為 null
committedCharacterCount - 文本中已提交的字元數
caret - 插入符(也叫插入點);如果當前撰寫文本中無任何插入符,則為 null
visiblePosition - 對於可見性至關重要的位置;如果當前撰寫文本中對於可見位置無任何建議,則為 null
拋出:
IllegalArgumentException - 如果 id 不在 INPUT_METHOD_FIRSTINPUT_METHOD_LAST 範圍內;或者 id 為 CARET_POSITION_CHANGEDtext 不為 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 會導致不明確的行為。如果 sourcenull,則此方法拋出 IllegalArgumentException

參數:
source - 產生事件的物件
id - 事件型別
text - 已提交文本和撰寫文本的組合,已提交文本在前;如果事件型別為 CARET_POSITION_CHANGED,則必須為 null;對於 INPUT_METHOD_TEXT_CHANGED 事件來說,如果無任何已提交文本或撰寫文本,則可能為 null
committedCharacterCount - 文本中已提交的字元數
caret - 插入符(也叫插入點);如果當前撰寫文本中無任何插入符,則為 null
visiblePosition - 對於可見性至關重要的位置;如果當前撰寫文本中對於可見位置無任何建議,則為 null
拋出:
IllegalArgumentException - 如果 id 不在 INPUT_METHOD_FIRSTINPUT_METHOD_LAST 範圍內;或者 id 為 CARET_POSITION_CHANGEDtext 不為 null;或者 committedCharacterCount 不在 0(text.getEndIndex() - text.getBeginIndex()) 範圍內
IllegalArgumentException - 如果 source 為 null

InputMethodEvent

public InputMethodEvent(Component source,
                        int id,
                        TextHitInfo caret,
                        TextHitInfo visiblePosition)
通過指定源元件、型別、插入符和 visiblePosition 來建構 InputMethodEvent。文本設置為 nullcommittedCharacterCount 設置為 0。

CaretvisiblePosition 的偏移量與當前撰寫文本有關;也就是說,如果將事件建構為 CARET_POSITION_CHANGED 事件,則為前面 INPUT_METHOD_TEXT_CHANGED 事件的 text 中的撰寫文本。對於沒有文本的 INPUT_METHOD_TEXT_CHANGED 事件,caretvisiblePosition 必須為 null。通過調用 EventQueue.getMostRecentEventTime() 初始化此事件的時間戳。

注意,傳遞無效的 id 會導致不明確的行為。如果 sourcenull,則此方法拋出 IllegalArgumentException

參數:
source - 產生事件的物件
id - 事件型別
caret - 插入符(也叫插入點);如果當前撰寫文本中無任何插入符,則為 null
visiblePosition - 對於可見性至關重要的位置;如果當前撰寫文本中對於可見位置無任何建議,則為 null
拋出:
IllegalArgumentException - 如果 id 不在 INPUT_METHOD_FIRSTINPUT_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()
獲取文本中已提交字元的數量。


getCaret

public TextHitInfo getCaret()
獲取插入符。

插入符的偏移量與當前撰寫文本有關;也就是說,如果是 INPUT_METHOD_TEXT_CHANGED 事件,則為 getText() 中的撰寫文本;否則為前面 INPUT_METHOD_TEXT_CHANGED 事件的 getText() 中的撰寫文本。

返回:
插入符(也叫插入點)。如果當前撰寫文本中沒有任何插入符,則為 null。

getVisiblePosition

public TextHitInfo getVisiblePosition()
獲取對於可見性至關重要的位置。

可見位置的偏移量與當前撰寫文本有關;也就是說,如果是 INPUT_METHOD_TEXT_CHANGED 事件,則為 getText() 中的撰寫文本;否則為前面 INPUT_METHOD_TEXT_CHANGED 事件的 getText() 中的撰寫文本。

返回:
對於可見性至關重要的位置。如果當前撰寫文本中對於可見位置沒有任何建議,則為 null。

consume

public void consume()
使用此事件,以便不會按預設方式由產生此事件的源程式碼來處理此事件。

覆寫:
類別 AWTEvent 中的 consume

isConsumed

public boolean isConsumed()
返回是否已經使用此事件。

覆寫:
類別 AWTEvent 中的 isConsumed
另請參見:
consume()

getWhen

public long getWhen()
返回此事件發生時的時間戳。

返回:
此事件的時間戳
從以下版本開始:
1.4

paramString

public String paramString()
返回標識此事件的參數字元串。此方法對於事件記錄和除錯很有用。它包含文本形式的事件 ID、用 "+" 分隔的已提交文本和撰寫文本的字元、已提交字元的數量、插入符和可見位置。

覆寫:
類別 AWTEvent 中的 paramString
返回:
標識事件及其屬性的字元串

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only