Instead of implementing something like this:
frameWindow.addKeyListener(
new KeyAdapter() {
public void keyPressed(KeyEvent event)
{
lastEventLabel.setText("keyPressed(): " + keyCodeToString(event.getKeyCode()));
lastEventLabel.repaint();
return;
}
public void keyReleased(KeyEvent event)
{
lastEventLabel.setText("keyReleased(): " + keyCodeToString(event.getKeyCode()));
lastEventLabel.repaint();
return;
}
public void keyTyped(KeyEvent event)
{
lastEventLabel.setText("keyTyped(): " + keyCodeToString(event.getKeyCode()));
lastEventLabel.repaint();
return;
}
}
);
use the OperationPanel.getInstance to add your KeyListener:
OperationPanel.getInstance().addKeyListener(
new KeyAdapter() {
public void keyPressed(KeyEvent event)
{
System.out.println("keyPressed(): " + keyCodeToString(event.getKeyCode()));
return;
}
public void keyReleased(KeyEvent event)
{
System.out.println("keyReleased(): " + keyCodeToString(event.getKeyCode()));
return;
}
public void keyTyped(KeyEvent event)
{
System.out.println("keyTyped(): " + keyCodeToString(event.getKeyCode()));
return;
}
}
);
have your application listen for the following event as it will be able to receive it, even if your application is in the background: KeyEvent.KEY_LOGIN_OUT