現在、グリッドベースのゲームをコーディングしようとしています。 iveは、一般ナビゲーション用のキーリスナーを実装するために既に管理していました。 特定のキーを押すと、Jpopupメニューが開きます。複数のキーリストナーJava
私はキーリスナーでメニューのナビゲーションを実装したいと思います。 Bを押すとメニューが再び閉じられます。
KeyListener UnitActionMenuKeyListener = new KeyListener() {
@Override
public void keyPressed(KeyEvent evt)
{
if (evt.getKeyCode()==KeyEvent.VK_B)
menu.setVisible(false)
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
JPopupMenu menu = new JPopupMenu("UnitActionMenu");
JMenuItem bewegenItem = menu.add("test");
この後にmenu.showとmenu.addKeyListenerを使用します。
しかし、関係なく、私がしようとするもの、私の一般的なナビゲーションのいずれかが文句を言わないもう動作しない、または一般的なナビゲーションは動作しますが、私のメニューは文句を言わないB
ので、私は複数の要素に対して複数のキーリスナーを実装するのですか押しに反応? は、私はちょうど私のメインウィンドウが聴きたい(と反応する)私のメニューとは異なるいくつかのキーに
(悪い書き込みのため申し訳ありませんが、良いとイムは4時間以上の単純なタスクを失敗に不満を感じていること、私の英語イマイチ)
を
悲しいことに、私はキーバインディングの仕組みを理解していません。与えられた例はかなり複雑です。 私が使用したいメニューにはフォーカスがあり、あらかじめ定義されたキーバインディング(矢印キーでナビゲート)が機能しています。私自身のキーバインディング/リスナー(Bで辞める)は役に立ちません – qwpeo
@qwpeo私の編集が助けになるかどうか確認してください。 – Radiodef