"Globaler" KeyListener
-
Hallo,
folgender Code funktioniert, solange der Frame leer ist; wird das Textfeld aber hinzugefügt, ist der KeyListener tot. Ich habe auch versucht, den Listener an eine GlassPane zu hängen - ging aber auch nicht. Weiß jemand Rat?
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class KeyListenerGlobal extends JFrame { public static void main(String[] args) { KeyListenerGlobal wnd = new KeyListenerGlobal(); wnd.setVisible(true); } public KeyListenerGlobal() { super("KeyListenerGlobal"); Container cp= getContentPane(); setSize(300,200); setLocation(200,100); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); /* JTextField tf= new JTextField(10); tf.setBounds(50,50,100,20); cp.add(tf); */ addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent event) { if (event.getKeyCode() == KeyEvent.VK_ESCAPE) { System.exit(0); } else if(event.getKeyCode() == KeyEvent.VK_A) { event.consume(); System.out.println("Pressed A"); } } }); setVisible(true); }
Gruß
Jörg