1

Keyevents を使用する Java のゲームに取り組んでいます。基本的に、それは私が強化したかったテンプレートですが、今はいくつかの基本的なものに苦労しています. ここに行きます:

keyPressed() メソッドには、次のような多数のイベントがあります。

public void keyPressed(int key) {
    switch (key) {
    case KeyEvent.VK_A:
        System.out.println("A");
        methodA();
        break;
    case KeyEvent.VK_B:
        System.out.println("B");
        methodB();
        break;
    }
}

ただし、のように別の KeyEvent を追加しようとすると、KeyEvent.VK_1機能しません/キーが認識されません。何故ですか?何か不足していますか?

4

1 に答える 1

1

KeyListenerよく知られている問題があります。キー イベントを受け取るには、登録先のコンポーネントがフォーカス可能で、フォーカスがある必要があります。キーイベントがリスナーに到達する前に (登録されているコンポーネントによって) 消費される可能性もあります。

代わりに、 Key Bindingsにする必要があります。これにより、キー イベントの処理方法をより柔軟に決定できます。

于 2013-06-16T21:03:29.493 に答える