|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.AWTKeyStroke javax.swing.KeyStroke
public class KeyStroke
表示鍵盤或等效輸入設置上的鍵操作的 KeyStroke。KeyStroke 僅能對應於按下或釋放某個特定的鍵,正如 KEY_PRESSED 和 KEY_RELEASED KeyEvents 執行的操作;或者,它們可能對應於鍵入特定的 Java 字元,正如 KEY_TYPED KeyEvents 執行的操作。在所有情況下,KeyStroke 都可以指定修飾符(alt、shift、control、meta、altGraph 或其組合),在針對精確比對的操作中,這些修飾符必須存在。
KeyStroke 用於定義高層級(語義)操作事件。不用捕獲每個 keystroke 並拋棄不感興趣的 keystroke,這些重要的 keystroke 會自動在其註冊的 Components 上啟動操作。
KeyStroke 是不可變的,而且是唯一的。客戶端程式碼無法創建 KeyStroke;必須使用 getKeyStroke
的變體。這些處理器方法使得 KeyStroke 實作能夠高效快取記憶體和共享實例。
警告:此類別的序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在 java.beans
套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder
。
Keymap
,
getKeyStroke(char)
方法摘要 | |
---|---|
static KeyStroke |
getKeyStroke(char keyChar)
返回 KeyStroke 的共享實例,前者表示指定字元的 KEY_TYPED 事件。 |
static KeyStroke |
getKeyStroke(Character keyChar,
int modifiers)
返回 KeyStroke 的一個共享實例,它表示指定 Character 物件和一組修飾符的 KEY_TYPED 事件。 |
static KeyStroke |
getKeyStroke(char keyChar,
boolean onKeyRelease)
已過時。 使用 getKeyStroke(char) |
static KeyStroke |
getKeyStroke(int keyCode,
int modifiers)
在給出一個數字鍵程式碼和一組修飾符的情況下,返回 KeyStroke 的一個共享實例。 |
static KeyStroke |
getKeyStroke(int keyCode,
int modifiers,
boolean onKeyRelease)
在給出一個數字鍵程式碼和一組修飾符的情況下,返回 KeyStroke 的一個共享實例,指定該鍵在按下或釋放時是否為已啟動。 |
static KeyStroke |
getKeyStroke(String s)
分析字元串並返回 KeyStroke 。 |
static KeyStroke |
getKeyStrokeForEvent(KeyEvent anEvent)
返回一個 KeyStroke,它表示產生給定 KeyEvent 的快捷鍵事件。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
方法詳細資訊 |
---|
public static KeyStroke getKeyStroke(char keyChar)
KeyStroke
的共享實例,前者表示指定字元的 KEY_TYPED
事件。
keyChar
- 鍵盤上某個鍵的字元值
@Deprecated public static KeyStroke getKeyStroke(char keyChar, boolean onKeyRelease)
keyChar
- 鍵盤上某個鍵的字元值onKeyRelease
- 如果此 KeyStroke 對應於某個鍵的釋放,則為 true
;否則為 false
。
public static KeyStroke getKeyStroke(Character keyChar, int modifiers)
KeyStroke
的一個共享實例,它表示指定 Character 物件和一組修飾符的 KEY_TYPED
事件。注意,第一個參數是 Character 型別而不是 char 型別。這是為了避免在調用 getKeyStroke(int keyCode, int modifiers)
時發生無意的衝突。
修飾符由以下任意組合組成:
keyChar
- 鍵盤字元的 Character 物件modifiers
- 任意修飾符的按位或組合
IllegalArgumentException
- 如果 keyChar 為 nullInputEvent
public static KeyStroke getKeyStroke(int keyCode, int modifiers, boolean onKeyRelease)
可以使用在 java.awt.event.KeyEvent 中定義的“虛擬鍵”常數來指定鍵程式碼。例如:
keyCode
- 一個 int,指定鍵盤上某個鍵的數字程式碼modifiers
- 任意修飾符的按位或組合onKeyRelease
- 如果 KeyStroke 應該表示一個鍵釋放,則為 true
;否則為 false
。
KeyEvent
,
InputEvent
public static KeyStroke getKeyStroke(int keyCode, int modifiers)
可以使用在 java.awt.event.KeyEvent 中定義的“虛擬鍵”常數來指定鍵程式碼。例如:
keyCode
- 一個 int,指定鍵盤上某個鍵的數字程式碼modifiers
- 任意修飾符的按位或組合
KeyEvent
,
InputEvent
public static KeyStroke getKeyStrokeForEvent(KeyEvent anEvent)
此方法獲得來自 KeyTyped 事件的 keyChar,以及來自 KeyPressed 或 KeyReleased 事件的 keyCode。為所有三種型別的 KeyEvent 獲取 KeyEvent 修飾符。
anEvent
- 從中獲取 KeyStroke 的 KeyEvent
NullPointerException
- 如果 anEvent
為 nullpublic static KeyStroke getKeyStroke(String s)
KeyStroke
。字元串必須具有以下語法:
<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" => getKeyStroke(KeyEvent.VK_INSERT, 0); "control DELETE" => getKeyStroke(KeyEvent.VK_DELETE, InputEvent.CTRL_MASK); "alt shift X" => getKeyStroke(KeyEvent.VK_X, InputEvent.ALT_MASK | InputEvent.SHIFT_MASK); "alt shift released X" => getKeyStroke(KeyEvent.VK_X, InputEvent.ALT_MASK | InputEvent.SHIFT_MASK, true); "typed a" => getKeyStroke('a');為了維持向後相容性,指定 null String 或格式不正確的 String 將返回 null。
s
- 用上述方法格式化的 String
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。