можно повесить обработку отдельных сочетаний на окно и всех его потомков:
getRootPane().registerKeyboardAction(actionListener, «cancel», KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
JComponent.WHEN_IN_FOCUSED_WINDOW);
Правда в Документации написано, что метод устарел и вместо этого нужно использовать комбинацию:
component.getInputMap().put(aKeyStroke, aCommand);
component.getActionMap().put(aCommmand, anAction);