1

KeyStroke.getKeystroke(String) (例: ) のドキュメントにはgetKeyStroke("control DELETE")、macintosh コマンド キーにアクセスする方法の例が記載されていません。この関数は受け入れます。コマンドキーの構文は何ですか?

参考までに、getKeystroke のドキュメントを次に示します。


文字列を解析し、KeyStroke. 文字列には次の構文が必要です。

<modifiers>* (<typedID> | <pressedReleasedID>)
  修飾子 := シフト | コントロール | コントロール | メタ | 代替 | 代替グラフ
  typedID := 型付き <typedKey>
  typedKey := Unicode 文字を与える長さ 1 の文字列。
  pressReleasedID := (押された | 離された) キー
  key := KeyEvent キーのコード名、つまり「VK_」に続く名前。

typed、pressed、release が指定されていない場合は、押されたと見なされます。ここではいくつかの例を示します。

  "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 Release X" => getKeyStroke(KeyEvent.VK_X, InputEvent.ALT_MASK | InputEvent.SHIFT_MASK, true);
  "typed a" => getKeyStroke('a');
4

1 に答える 1

3

AWTKeyStroke getAWTKeyStroke(String s) のソース コードにアクセスして、許容されるすべての修飾語を確認し、少し試行錯誤して、コマンド キーの修飾構文が「メタ」であることを確認する必要がありました。

于 2013-07-10T23:27:14.990 に答える