private static void addEscapeListener(final JDialog dialog) { KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0); dialog .getRootPane() .registerKeyboardAction( e -> dialog.dispatchEvent(new WindowEvent(dialog, WindowEvent.WINDOW_CLOSING)), stroke, JComponent.WHEN_IN_FOCUSED_WINDOW); }