私は単純な Java のヘビのようなゲームを書いていますが、実際にゲームを作成する前に問題に遭遇しました。なんらかの理由でキーボードからの入力ができないようです。私の現在のコードは次のとおりです。
public class GameWindow extends JFrame{
private SnakeCanvas snakeCanvas;
public GameWindow(StartWindow sw) {
getContentPane().addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
JOptionPane.showMessageDialog(null, "Key Pressed!");
}
});
getContentPane().setBackground(Color.BLACK);
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
this.setUndecorated(true);
this.setVisible(true);
getContentPane().setLayout(null);
snakeCanvas = new SnakeCanvas();
snakeCanvas.setBounds(78, 72, 290, 195);
getContentPane().add(snakeCanvas);
snakeCanvas.setVisible(true);
snakeCanvas.repaint();
}
}
(SnakeCanvas は JPanel を拡張し、他のコンポーネントはありません)
キーリスナーをsnakeCanvasに追加しようとしましたが、まだ効果がありません.フォーカス可能なものとフォーカストラバーサルのもので遊んでみましたが、それも何もしませんでした...誰か私に説明してください私が間違っていることは何ですか?