|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.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,
InputEventpublic 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。