矢印キーが押されたかどうかをリッスンするパネルにキーバインドを実装する作業を行っています。
それらが押されると、アクションを実行します。私のコード:
private void createKeyBindings(){
actionMap = this.getActionMap();
inputMap = this.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
this.getInputMap().put(KeyStroke.getKeyStroke("a"),
"pressedUpArrow");
this.getInputMap().put(KeyStroke.getKeyStroke("released UP"),
"releasedUpArrow");
this.getActionMap().put("pressedUpArrow",
new PressedUpArrowAction());
this.getActionMap().put("releasedUpArrow",
new ReleasedUpArrowAction());
}
アクションは機能します (それらをボタンにマップしてボタンを押すと、アクションが本来行うべきことを実行します)。
これらのキーバインドは、私のパネル (タブ付きペインのタブ) に対して呼び出されます。キーストロークを上に押した状態と、(それが問題ではないことを確認するため) だけの両方を試しました。問題のタブがフォーカスされているときにこれらのキーを入力します。
何かアドバイス?