JAvaキーボードリスニングの詳細


その他のサンプルコードは、私の他のブログまたはGitHubを参照してください.不定期に更新し、学習中に使うものはどこに書いて、テンプレートとして後で使用し、復習します.
 
 
一般的に、コンポーネントにリスニングを追加するコードは、次のような形式です.
(この段落の*は同じ単語を表しています)
object.add*Listener(new *Listener() {

@Override

//      ...

});

上のパラメータは対応するインタフェースの内部クラスを実現しているので、インタフェースのすべての方法を実現する必要があります.たとえ使わなくても.コードを簡潔にするために、Javaはいくつかの方法のインタフェースに対して、このインタフェースを実現する適切なクラス:*Adapter)を提供しているので、リスニングを追加しても以下の形式を使用することができます.
object.add*Listener(new *Adapter() {

@Override

//       ...

});

キーボードリスニング
コードの例:
object.addKeyListener(new KeyListener() {


@Override

public void keyTyped(KeyEvent e) {

//            。            。

}


@Override

public void keyReleased(KeyEvent e) {

//            。          。


}


@Override

public void keyPressed(KeyEvent arg0) {

//           。          。

//               

}

});

または
object.addKeyListener(new KeyAdapter() {
    //       
});

キー押下イベントは、キー入力に必要な不十分な条件であり、キー押下イベントとキー入力イベントが複数対1である可能性がある.
[キーを押す](Push Key)イベントと[キーを解放](Release Key)イベント プラットフォームとキーボードのレイアウトに依存する低レベルのイベントです.これらのイベントは、キーを押したり放したりするだけで生成され、動作キー、修正キーなどの文字入力を生成しないキーを発見する唯一の方法です.キーEventオブジェクトのgetKeyCodeメソッドを使用すると、キーが押されたか解放されたかを示すことができ、このメソッドは仮想キーコードを返します.
 
KeyEventの詳細:
メソッドの概要:
 char
getKeyChar()           このイベントのキーに関連付けられた文字を返します.
 int
getKeyCode()           このイベントのキーに関連付けられた整数keyCodeを返します.
 int
getKeyLocation()            このキーイベントを生成するキーの場所を返します.
static String
getKeyModifiersText(int modifiers)            「Shift」や「Ctrl+Shift」などの修正キーを記述するStringを返します.
static String
getKeyText(int keyCode)            「HOME」、「F 1」、または「A」などのkeyCodeを記述するStringを返します.
 boolean
isActionKey()            このイベントのキーが[アクション](Action)キーであるかどうかを返します.
 String
paramString()            このイベントを識別するパラメータ文字列を返します.
 void
setKeyChar(char keyChar)            論理文字を表すkeyCode値を設定します.
 void
setKeyCode(int keyCode)            物理キーを表すkeyCode値を設定します.
 
getKeyCharメソッドは、常に有効なUnicode文字またはCHAR_を返します.UNDEFINED.KEY_TYPEDイベントレポート文字入力:KEY_PRESSEDとKEY_RELEASEDイベントは文字入力に関連付ける必要はありません.したがって,getKeyCharメソッドの結果はKEY_のみであることが保証される.TYPEDイベントは意味があります.
キーの押下とキーの解放イベントの場合、getKeyCodeメソッドはイベントのkeyCodeを返します.キー入力イベントの場合、getKeyCodeメソッドは常にVK_を返します.UNDEFINED.
 
 
 
 
共通フィールドの概要:(詳細はjavaドキュメントを参照)
static int
VK_0            VK_0~VK_9 ASCIIの「0」から「9」(0 x 30-0 x 39)と同じ
static int
VK_A            VK_AからVK_ZはASCIIの‘A’から‘Z’(0 x 41−0 x 5 A)と同じである
static int
VK_LEFT_PARENTHESIS                      "("
static int
VK_MINUS                       "-"          
static int
VK_NUMBER_SIGN                       "#"
static int
VK_OPEN_BRACKET                       "["
static int
VK_PERIOD                       "."
static int
VK_PLUS                       "+"
static int
VK_AT                       "@"
static int
VK_BACK_SLASH                       "\"
static int
VK_CLOSE_BRACKET                       "]"
static int
VK_COLON                       ":"
static int
VK_COMMA                       ","
static int
VK_RIGHT_PARENTHESIS                       ")"
static int
VK_SEMICOLON                       ";"
static int
VK_SLASH                       "/"
static int
VK_UNDERSCORE                       "_"
static int
VK_DOLLAR                       "$"
static int
VK_EQUALS                       "="
static int
VK_EURO_SIGN            欧州通貨記号キーに使用される定数.
static int
VK_EXCLAMATION_MARK                       "!"
static int
VK_F1            F 1機能キーの定数です.
static int
VK_F2            F 2ファンクションキーの定数です.
static int
VK_F3            F 3機能キーの定数です.
static int
VK_F4            F 4ファンクションキーの定数です.
static int
VK_F5            F 5ファンクションキーの定数です.
static int
VK_F6            F 6ファンクションキーの定数です.
static int
VK_F7            F 7ファンクションキーの定数です.
static int
VK_F8            F 8機能キーの定数です.
static int
VK_F9            F 9機能キーの定数です.
static int
VK_F16            F 16ファンクションキーの定数です.
static int
VK_F17            F 17ファンクションキーの定数です.
static int
VK_F18            F 18ファンクションキーの定数です.
static int
VK_F19            F 19ファンクションキーの定数です.
static int
VK_F20            F 20機能キーの定数です.
static int
VK_F21            F 21機能キーの定数です.
static int
VK_F22            F 22機能キーの定数です.
static int
VK_F23            F 23機能キーの定数です.
static int
VK_F24            F 24機能キーの定数です.
static int
VK_KP_DOWN            テンキーの下矢印キーに使用する定数.
static int
VK_KP_LEFT            テンキーの左矢印キーに使用する定数.
static int
VK_KP_RIGHT            テンキーの右向きキーに使用する定数.
static int
VK_KP_UP            テンキーの上向きキーに使用する定数.
static int
VK_LEFT            テンキー以外の左矢印キーに使用する定数.
static int
VK_RIGHT            数値以外のキーボードの右方向キーに使用される定数.
static int
VK_UP            テンキー以外の上向きキーに使用する定数.
static int
VK_DOWN            数値以外のキーボードの下矢印キーに使用する定数.
static char
CHAR_UNDEFINED            KEY_PRESSEDとKEY_RELEASEDイベントが有効なUnicode文字にマッピングされていない場合、この値をkeyChar値として使用します.
static int
KEY_LOCATION_NUMPAD            この定数指示キーイベントは、デジタルキーボードまたはデジタルキーボードに対応する仮想キーから発生します.
static int
VK_UNDEFINED            この値はkeyCodeが不明であることを示すために使用されます.
static int
VK_COPY             
static int
VK_CUT             
static int
VK_PASTE             
static int
VK_HOME             
 
 
参考ドキュメント:java公式ドキュメント中国語版