Here you can find the source of closeOnKeyStroke(JFrame frame, KeyStroke keyStroke)
public static void closeOnKeyStroke(JFrame frame, KeyStroke keyStroke)
//package com.java2s; //License from project: Open Source License import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Main { private static final Action CLOSE_ACTION = new AbstractAction() { public void actionPerformed(ActionEvent e) { Window window = SwingUtilities.getWindowAncestor((Component) e.getSource()); // Dispatch an event so it's as if the window's close button was clicked. // The client has to set up the right behavior for that case. window.dispatchEvent(new WindowEvent(window, WindowEvent.WINDOW_CLOSING)); }//from ww w . j a va 2 s . co m }; public static void closeOnKeyStroke(JFrame frame, KeyStroke keyStroke) { closeOnKeyStroke(frame.getRootPane(), keyStroke); } private static void closeOnKeyStroke(JRootPane rootPane, KeyStroke keyStroke) { final String CLOSE_ACTION_NAME = "e.gui.JFrameUtilities.CloseFrameOnKeyStroke"; rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(keyStroke, CLOSE_ACTION_NAME); rootPane.getActionMap().put(CLOSE_ACTION_NAME, CLOSE_ACTION); } }