JFrameにKeyListenerを追加しようとしています。押されたキーは、ActionListenerクラス内のすべてのコードを実行します。JFrameのキーリスト(actionlistener付き)
例:
私がF1を押すと、ActionListenerクラスがトリガーされます。すべての指示を行う。
助けが必要ですか? ありがとうございます。
JFrameにKeyListenerを追加しようとしています。押されたキーは、ActionListenerクラス内のすべてのコードを実行します。JFrameのキーリスト(actionlistener付き)
例:
私がF1を押すと、ActionListenerクラスがトリガーされます。すべての指示を行う。
助けが必要ですか? ありがとうございます。
KeyListenerにActionListenerを「コール」させないでください。むしろ、すべての命令で別個のメソッドを作成し、KeyListenerとActionListenerの両方でこの同じメソッドを呼び出さなければなりません。
この状況では、キーボードフォーカスを変更できるときに気まぐれに動作するKeyListenerを使用しないでください。代わりにKey Bindingsの使用を優先します。
キーを押すと、ActionListenerクラス内のすべてのコードが実行されます。
ActionListener
を使用する代わりに、Action
を使用できます。 Action
は基本的にActionListnerと同じですが、キーボードでの使用を容易にする追加のプロパティを定義することができます。詳しくは、How to Use ActionsのSwingチュートリアルのセクションを読んでください。補足として、SwingコンポーネントはActionsを使用するように設計されています。
あなたが作成した後Action
あなたは、さまざまなオプションがあります:
あなたはJMenuItem
にAction
を追加することができますし、「アクセラレータ」キーを定義した場合、F1キーがあるときにAction
が自動的に起動されます押された
JMenuItem
を使用しない場合は、KeyStroke
をAction
に手動でバインドする必要があります。バインディングを手作業で追加するための基本については、[キーバインディングの作成と削除の方法]のSwingチュートリアルのセクションを参照してください(http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html#howto)。