メニューと実際のゲーム自体を含む Pong クローンを作成しています。を使用しCardLayout
て 2 つを切り替えていJPanels
ます。
しかし、メニューからボード (またはプレイエリア) に切り替えると、ボードはそこに座ったままになり、キーボード入力を受け付けません。キーリスニングを開始または開始するにはどうすればよいですか?
メニューと実際のゲーム自体を含む Pong クローンを作成しています。を使用しCardLayout
て 2 つを切り替えていJPanels
ます。
しかし、メニューからボード (またはプレイエリア) に切り替えると、ボードはそこに座ったままになり、キーボード入力を受け付けません。キーリスニングを開始または開始するにはどうすればよいですか?
回答 (以前に推奨されたとおり): KeyListener を使用しないでください。キーバインディングを使用します。
requestFocusInWindow()
トリックを行う必要があります。
CardLayout の場合、リスナーにはこれらのコードが必要です
CardLayout card=(CardLayout) JPanel_with_cardLayout.getLayout();
card.show(JPanel_with_cardLayout,"cardname of card you want to switch");
例:
CardLayout card=(CardLayout) JPanel2.getLayout();
card.show(JPanel2,"card4");