"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


Anmelden zum Antworten