-1

キーボード入力を機能させようとしていますが、何も検出されません。おそらく、CardLayoutを使用していて、show()関数を呼び出したときにフォーカスが正しく設定されていないためです。

現在はこんな感じです。

    containerPanel.add(new GameArea(), "newGameArea");
        CardLayout cl = (CardLayout)(containerPanel.getLayout());
        //containerPanel.requestFocusInWindow();
        cl.show(containerPanel, "newGameArea");

どんな助けでも大歓迎です。

4

1 に答える 1

3
  • フォーカスが非同期の場合、requestFocusをinvokeLaterにラップする必要があります

  • これは、別のListenettakeFocusが追加されていない場合に機能するはずです。

  • Swing JComponentsにKeyListenerを使用せず、代わりにKeyBindingsを使用してください

于 2012-05-30T14:17:31.760 に答える