Hi,
ich bin gerade an einem Projekt und brauche einen KeyListener. Ich weiß nicht wieso aber ich habe immer irgend ein Problem damit.
Das ist die Klasse in der mein KeyListener ist.
Hier im Konstruktor wird der KeyListener hinzugefügt.
Aber warum wird in der Konsole beim betätigen der Tasten nichts ausgegeben?
Könnte mir jemand weiterhelfen und mir sagen was ich wieder vergessen habe?
lg bttl
ich bin gerade an einem Projekt und brauche einen KeyListener. Ich weiß nicht wieso aber ich habe immer irgend ein Problem damit.
Code:
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class KeyManager implements KeyListener{
@Override
public void keyTyped(KeyEvent e) {
int keyCode = e.getKeyCode();
switch (keyCode) {
case KeyEvent.VK_UP:
System.out.println("UP");
break;
case KeyEvent.VK_DOWN:
System.out.println("DOWN");
break;
case KeyEvent.VK_LEFT:
System.out.println("LEFT");
break;
case KeyEvent.VK_RIGHT:
System.out.println("RIGHT");
break;
default:
break;
}
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
}
Code:
public Display(Snake world) {
frame = new JFrame();
this.world = world;
frame.setTitle("Snake");
frame.setLocationRelativeTo(null);
raster = new JLabel[world.getXlength()][world.getYlength()];
for (int i = 0; i < raster.length; i++) {
for (int j = 0; j < raster[i].length; j++) {
raster[i][j] = new JLabel("");
raster[i][j].setBorder(BorderFactory.createBevelBorder(0));
raster[i][j].setPreferredSize(new Dimension(32, 32));
}
}
JPanel panel = new JPanel(new GridLayout(world.getXlength(), world.getYlength(), 0, 0));
for (int i = 0; i < raster.length; i++) {
for (int j = 0; j < raster[i].length; j++) {
JPanel p = new JPanel();
raster[i][j].setBackground(Color.white);
p.add(raster[i][j]);
panel.add(p);
}
}
frame.addKeyListener(new KeyManager());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
Aber warum wird in der Konsole beim betätigen der Tasten nichts ausgegeben?
Könnte mir jemand weiterhelfen und mir sagen was ich wieder vergessen habe?
lg bttl