das gehört vom package ja irgendwie hier rein. deshalb...
ich will einen einfachen tastendruck auf der Tatstatur abfangen und dann weiterverarbeiten. über java.awt.event.KeyListener.keyTyped hab ich das versucht: inteface in eine klasse implementieren, methoden überschreiben, im konstruktor hinzufügen und sogar noch den focus über requestFocus() richtig legen. geht nicht. der focus kommt nicht an hab ich mittlerweile rausgefunden, was vielleicht daran liegen könnte, dass die klasse von einem JPanel abstammte. auf ein einfaches TextField bekomme ich den Focus aber auch nicht.
der code sieht in etwa so aus:
kann mir jemand sagen, wie ich das lösen kann/muss, damit es funktioniert?
ich will einen einfachen tastendruck auf der Tatstatur abfangen und dann weiterverarbeiten. über java.awt.event.KeyListener.keyTyped hab ich das versucht: inteface in eine klasse implementieren, methoden überschreiben, im konstruktor hinzufügen und sogar noch den focus über requestFocus() richtig legen. geht nicht. der focus kommt nicht an hab ich mittlerweile rausgefunden, was vielleicht daran liegen könnte, dass die klasse von einem JPanel abstammte. auf ein einfaches TextField bekomme ich den Focus aber auch nicht.
der code sieht in etwa so aus:
Code:
public class Spielfeld extends JPanel implements Runnable, KeyListener {
public Spielfeld ( ) {
super(new BorderLayout());
setBackground(Color.BLACK);
addKeyListener(this);
requestFocus();
}
public void keyPressed ( KeyEvent e ) {
switch ( e.getKeyCode() ) {
//verarbeitung
}
repaint();
}
public void keyReleased ( KeyEvent e ) {}
public void keyTyped ( KeyEvent e ) {}
}
kann mir jemand sagen, wie ich das lösen kann/muss, damit es funktioniert?