JavaTM 2 Platform
Standard Ed. 6

java.awt
類別 AWTKeyStroke

java.lang.Object
  繼承者 java.awt.AWTKeyStroke
所有已實作的介面:
Serializable
直接已知子類別:
KeyStroke

public class AWTKeyStroke
extends Object
implements Serializable

AWTKeyStroke 表示鍵盤(或等效輸入設備)上的鍵操作。正如 KEY_PRESSEDKEY_RELEASED KeyEvent 一樣,AWTKeyStroke 僅對應於一個特定鍵的按下或釋放;另一方面,它們與 KEY_TYPED KeyEvent 事件一樣,對應於鍵入一個特定 Java 字元的操作。在所有情況下,AWTKeyStroke 都可以指定修改鍵(alt、shift、control、meta、altGraph 或它們的組合),在針對精確比對的操作中,這些修改鍵必須存在。

AWTKeyStrokes 是不可變的,並且應該是唯一的。客戶機程式碼絕對不能自己創建 AWTKeyStroke,而應該使用 getAWTKeyStroke 的一個變體代替。使用這些處理器方法的客戶機允許 AWTKeyStroke 實作有效地快取記憶體和共享實例。

從以下版本開始:
1.4
另請參見:
getAWTKeyStroke(char), 序列化表格

建構子摘要
protected AWTKeyStroke()
          使用預設值建構 AWTKeyStroke
protected AWTKeyStroke(char keyChar, int keyCode, int modifiers, boolean onKeyRelease)
          使用指定值建構 AWTKeyStroke
 
方法摘要
 boolean equals(Object anObject)
          如果此物件與指定物件相同,則返回 true。
static AWTKeyStroke getAWTKeyStroke(char keyChar)
          返回表示指定字元的 KEY_TYPED 事件的 AWTKeyStroke 的一個共享實例。
static AWTKeyStroke getAWTKeyStroke(Character keyChar, int modifiers)
          返回一個共享的 AWTKeyStroke 實例,它表示針對指定 Character 物件和一組組合鍵的 KEY_TYPED 事件。
static AWTKeyStroke getAWTKeyStroke(int keyCode, int modifiers)
          在給出一個數字鍵程式碼和一組修飾符的情況下,返回 AWTKeyStroke 的一個共享實例。
static AWTKeyStroke getAWTKeyStroke(int keyCode, int modifiers, boolean onKeyRelease)
          在給出一個數字鍵程式碼和一組修飾符的情況下,返回 AWTKeyStroke 的一個共享實例,指定該鍵在按下或釋放時是否是被啟動。
static AWTKeyStroke getAWTKeyStroke(String s)
          分析字元串並返回一個 AWTKeyStroke
static AWTKeyStroke getAWTKeyStrokeForEvent(KeyEvent anEvent)
          返回一個 AWTKeyStroke,它表示產生給定 KeyEvent 的鍵擊事件。
 char getKeyChar()
          返回此 AWTKeyStroke 的字元。
 int getKeyCode()
          返回此 AWTKeyStroke 的數字鍵程式碼。
 int getKeyEventType()
          返回 KeyEvent 的型別,它對應於此 AWTKeyStroke
 int getModifiers()
          返回此 AWTKeyStroke 的修飾符鍵。
 int hashCode()
          返回此物件的數值,它可能是唯一的,將它用作雜湊表中的索引值是一個好選擇。
 boolean isOnKeyRelease()
          返回此 AWTKeyStroke 是否表示一個鍵釋放操作。
protected  Object readResolve()
          返回 AWTKeyStroke 的一個快取記憶體實例(或 AWTKeyStroke 的子類別),它與此實例相等。
protected static void registerSubclass(Class<?> subclass)
          註冊一個新類別,AWTKeyStroke 中的處理器方法在產生 AWTKeyStroke 的新實例時將使用它。
 String toString()
          返回一個顯示並標識此物件屬性的字元串。
 
從類別 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

AWTKeyStroke

protected AWTKeyStroke()
使用預設值建構 AWTKeyStroke。使用的預設值如下:
屬性預設值
Key Char KeyEvent.CHAR_UNDEFINED
Key Code KeyEvent.VK_UNDEFINED
Modifiers none
On key release? false
不應該通過客戶機程式碼建構 AWTKeyStroke。應該使用 getAWTKeyStroke 的一個變體代替。

另請參見:
getAWTKeyStroke(char)

AWTKeyStroke

protected AWTKeyStroke(char keyChar,
                       int keyCode,
                       int modifiers,
                       boolean onKeyRelease)
使用指定值建構 AWTKeyStroke。不應該通過客戶機程式碼建構 AWTKeyStroke。應該使用 getAWTKeyStroke 的一個變體代替。

參數:
keyChar - 鍵盤上某個鍵的字元值
keyCode - 此 AWTKeyStroke 的鍵程式碼
modifiers - 任意修飾符的按位或組合
onKeyRelease - 如果此 AWTKeyStroke 對應一個鍵釋放,則該參數為 true;否則為 false
另請參見:
getAWTKeyStroke(char)
方法詳細資訊

registerSubclass

protected static void registerSubclass(Class<?> subclass)
註冊一個新類別,AWTKeyStroke 中的處理器方法在產生 AWTKeyStroke 的新實例時將使用它。調用此方法後,處理器方法將返回指定類別的實例。指定的類別必須是 AWTKeyStroke 或者從 AWTKeyStroke 派生的類別,並且它必須有一個無參數建構子。此建構子可以具有任意的可存取性,其中包括 private。此操作刷新當前的 AWTKeyStroke 快取記憶體。

參數:
subclass - 處理器方法應該創建其實例的新類別
拋出:
IllegalArgumentException - 如果 subclass 為 null,或者 subclass 沒有無參數建構子
ClassCastException - 如果 subclass 不是 AWTKeyStroke 或者從 AWTKeyStroke 派生的類別

getAWTKeyStroke

public static AWTKeyStroke getAWTKeyStroke(char keyChar)
返回表示指定字元的 KEY_TYPED 事件的 AWTKeyStroke 的一個共享實例。

參數:
keyChar - 鍵盤上某個鍵的字元值
返回:
該鍵的 AWTKeyStroke 物件

getAWTKeyStroke

public static AWTKeyStroke getAWTKeyStroke(Character keyChar,
                                           int modifiers)
返回一個共享的 AWTKeyStroke 實例,它表示針對指定 Character 物件和一組組合鍵的 KEY_TYPED 事件。注意,第一個參數是 Character 型別而不是 char 型別。這是為了避免在調用 getAWTKeyStroke(int keyCode, int modifiers) 時發生無意的衝突。修飾符由以下任意組合組成: 也可以使用下面列出的舊的修改鍵,但它們被映射到 _DOWN_ 修飾符。 也可以使用,但它們被映射到 _DOWN_ 修飾符。因為這些數字都是 2 的不同次方,所以它們的任意組合是一個整數,該整數的每個位都表示一個不同的修飾符鍵。可以使用 0 指定無修飾符。

參數:
keyChar - 鍵盤字元的 Character 物件
modifiers - 任意修飾符的按位或組合
返回:
該鍵的 AWTKeyStroke 物件
拋出:
IllegalArgumentException - 如果 keyCharnull
另請參見:
InputEvent

getAWTKeyStroke

public static AWTKeyStroke getAWTKeyStroke(int keyCode,
                                           int modifiers,
                                           boolean onKeyRelease)
在給出一個數字鍵程式碼和一組修飾符的情況下,返回 AWTKeyStroke 的一個共享實例,指定該鍵在按下或釋放時是否是被啟動。

可以使用在 java.awt.event.KeyEvent 中定義的“虛擬鍵”常數來指定鍵程式碼。例如:

修飾符由以下任意組合組成: 舊的修飾符 也可以使用,但它們被映射到 _DOWN_ 修飾符。因為這些數字都是 2 的不同次方,所以它們的任意組合是一個整數,該整數的每個位都表示一個不同的修飾符鍵。可以使用 0 指定無修飾符。

參數:
keyCode - 一個 int,指定鍵盤上某個鍵的數字程式碼
modifiers - 任意修飾符的按位或組合
onKeyRelease - 如果 AWTKeyStroke 應該表示一個鍵釋放,則該參數為 true;否則為 false
返回:
該鍵的 AWTKeyStroke 物件
另請參見:
KeyEvent, InputEvent

getAWTKeyStroke

public static AWTKeyStroke getAWTKeyStroke(int keyCode,
                                           int modifiers)
在給出一個數字鍵程式碼和一組修飾符的情況下,返回 AWTKeyStroke 的一個共享實例。返回的 AWTKeyStroke 將對應於一個按鍵操作。

可以使用在 java.awt.event.KeyEvent 中定義的“虛擬鍵”常數來指定鍵程式碼。例如:

修飾符由以下任意組合組成: 舊的修飾符 也可以使用,但它們被映射到 _DOWN_ 修飾符。 因為這些數字都是 2 的不同次方,所以它們的任意組合是一個整數,該整數的每個位都表示一個不同的修飾符鍵。可以使用 0 指定無修飾符。

參數:
keyCode - 一個 int,指定鍵盤上某個鍵的數字程式碼
modifiers - 任意修飾符的按位或組合
返回:
該鍵的 AWTKeyStroke 物件
另請參見:
KeyEvent, InputEvent

getAWTKeyStrokeForEvent

public static AWTKeyStroke getAWTKeyStrokeForEvent(KeyEvent anEvent)
返回一個 AWTKeyStroke,它表示產生給定 KeyEvent 的鍵擊事件。

此方法獲得來自 KeyTyped 事件的 keyChar,以及來自 KeyPressedKeyReleased 事件的 keyCode。為所有三種型別的 KeyEvent 獲取 KeyEvent 修飾符。

參數:
anEvent - 從中獲取 AWTKeyStrokeKeyEvent
返回:
促使該事件發生的 AWTKeyStroke
拋出:
NullPointerException - 如果 anEvent 為 null

getAWTKeyStroke

public static AWTKeyStroke getAWTKeyStroke(String s)
分析字元串並返回一個 AWTKeyStroke。該字元串必須具有以下語法:
    <modifiers>* (<typedID> | <pressedReleasedID>)

    modifiers := shift | control | ctrl | meta | alt | altGraph 
    typedID := typed <typedKey>
    typedKey := string of length 1 giving Unicode character.
    pressedReleasedID := (pressed | released) key
    key := KeyEvent key code name, i.e. the name following "VK_".
 
如果沒有指定是鍵入、按下還是釋放,則假定為按下。以下是一些範例:
     "INSERT" => getAWTKeyStroke(KeyEvent.VK_INSERT, 0);
     "control DELETE" => getAWTKeyStroke(KeyEvent.VK_DELETE, InputEvent.CTRL_MASK);
     "alt shift X" => getAWTKeyStroke(KeyEvent.VK_X, InputEvent.ALT_MASK | InputEvent.SHIFT_MASK);
     "alt shift released X" => getAWTKeyStroke(KeyEvent.VK_X, InputEvent.ALT_MASK | InputEvent.SHIFT_MASK, true);
     "typed a" => getAWTKeyStroke('a');
 

參數:
s - 用上述方法格式化的一個字元串
返回:
該字元串的一個 AWTKeyStroke 物件
拋出:
IllegalArgumentException - 如果 snull,或者沒有被正確地格式化

getKeyChar

public final char getKeyChar()
返回此 AWTKeyStroke 的字元。

返回:
一個 char 值
另請參見:
getAWTKeyStroke(char), KeyEvent.getKeyChar()

getKeyCode

public final int getKeyCode()
返回此 AWTKeyStroke 的數字鍵程式碼。

返回:
一個 int,它包含鍵程式碼值
另請參見:
getAWTKeyStroke(int,int), KeyEvent.getKeyCode()

getModifiers

public final int getModifiers()
返回此 AWTKeyStroke 的修飾符鍵。

返回:
一個 int,它包含修飾符
另請參見:
getAWTKeyStroke(int,int)

isOnKeyRelease

public final boolean isOnKeyRelease()
返回此 AWTKeyStroke 是否表示一個鍵釋放操作。

返回:
如果此 AWTKeyStroke 表示一個鍵釋放操作,則返回 true;否則返回 false
另請參見:
getAWTKeyStroke(int,int,boolean)

getKeyEventType

public final int getKeyEventType()
返回 KeyEvent 的型別,它對應於此 AWTKeyStroke

返回:
KeyEvent.KEY_PRESSEDKeyEvent.KEY_TYPEDKeyEvent.KEY_RELEASED
另請參見:
KeyEvent

hashCode

public int hashCode()
返回此物件的數值,它可能是唯一的,將它用作雜湊表中的索引值是一個好選擇。

覆寫:
類別 Object 中的 hashCode
返回:
表示此物件的一個 int
另請參見:
Object.equals(java.lang.Object), Hashtable

equals

public final boolean equals(Object anObject)
如果此物件與指定物件相同,則返回 true。

覆寫:
類別 Object 中的 equals
參數:
anObject - 將與此物件進行比較的物件
返回:
如果兩個物件相同,則返回 true
另請參見:
Object.hashCode(), Hashtable

toString

public String toString()
返回一個顯示並標識此物件屬性的字元串。可以將此方法返回的 String 作為參數傳遞給 getAWTKeyStroke(String),以產生一個與此鍵擊等效的鍵擊。

覆寫:
類別 Object 中的 toString
返回:
此物件的字元串表示形式
另請參見:
getAWTKeyStroke(String)

readResolve

protected Object readResolve()
                      throws ObjectStreamException
返回 AWTKeyStroke 的一個快取記憶體實例(或 AWTKeyStroke 的子類別),它與此實例相等。

返回:
一個與此實例相等的快取記憶體實例
拋出:
ObjectStreamException

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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