Toolkit.getDefaultToolkit().getSystemEventQueue().push(new EventQueue() {
@Override
protected void dispatchEvent(AWTEvent event) {
if (event instanceof KeyEvent) {
KeyEvent keyEvent = (KeyEvent) event;
if (KeyEvent.KEY_RELEASED == keyEvent.getID() &&
(KeyEvent.VK_ESCAPE == keyEvent.getKeyCode() ||
(KeyEvent.VK_F4 == keyEvent.getKeyCode() && keyEvent.isAltDown() ))) {
int conf = JOptionPane.showConfirmDialog(f, "Soll die Anwendung wirklich beendet werden?", "Beenden", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, icon);
if(conf==0){
System.exit(0);
}
}
}
super.dispatchEvent(event);
}
});