矢印キーなどの基本的なキーボード入力機能を取得しようとしています。しかし、私が試みたものは何も機能していないようです.KeyListenerインターフェースを使用してきました.入力をチェックするJPanelがフォーカスを取得し、エラーはないようです.
public class PlayField extends JPanel implements KeyListener
{
private SpelModel mijnmodel;
private boolean rechts = false;
private boolean links = false;
public PlayField(SpelModel mijnmodelArg)
{
setBackground(Color.WHITE);
mijnmodel = mijnmodelArg;
this.setFocusable(true);
}
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g); //some methods that i've taken out of the example
drawStones(g,mijnmodel.getStenen());
drawPeddle(g,mijnmodel.getBat());
drawBall(g,mijnmodel.getBall());
}
@Override
public void keyPressed(KeyEvent e){
System.out.println("Key Pressed!!!");
}
//Called when the key is released
@Override
public void keyReleased(KeyEvent e){
System.out.println("Key Released!!!");
}
//Called when a key is typed
@Override
public void keyTyped(KeyEvent e){}
}
問題は、複数のクラスを使用してウィンドウを作成していることでしょうか (最初に 1 つの JFrame、次に 2 つの JPanel を含む 1 つの JPanel、その上に「PlayField」クラスがあります)、別のパネル内でフォーカスを達成することは不可能ですか? 最善の行動方針は何ですか?