/** * (c) 2000-2011 Carlos G�mez Rodr�guez, todos los derechos reservados / all rights reserved. * Licencia en license.txt / License in license.txt * File created: 26/10/2012 17:14:36 */ package eu.irreality.age.windowing; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import javax.swing.JComponent; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.KeyStroke; /** * @author carlos * */ public class DialogUtils { /** * Registers the Escape key to close the given dialog. * @param dialog */ public static void registerEscapeAction(final JDialog dialog) { registerCloseAction(dialog,KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0)); } /** * Registers a keystroke to close the given dialog. * @param dialog * @param keyStroke */ public static void registerCloseAction(final JDialog dialog , KeyStroke keyStroke) { ActionListener escListener = new ActionListener() { public void actionPerformed(ActionEvent e) { dialog.dispose(); } }; dialog.getRootPane().registerKeyboardAction(escListener, keyStroke, JComponent.WHEN_IN_FOCUSED_WINDOW); } /** * Registers the Escape key to close the given dialog. * @param dialog */ public static void registerEscapeAction(final JFrame dialog) { registerCloseAction(dialog,KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0)); } /** * Registers a keystroke to close the given dialog. * @param dialog * @param keyStroke */ public static void registerCloseAction(final JFrame dialog , KeyStroke keyStroke) { ActionListener escListener = new ActionListener() { public void actionPerformed(ActionEvent e) { dialog.dispose(); } }; dialog.getRootPane().registerKeyboardAction(escListener, keyStroke, JComponent.WHEN_IN_FOCUSED_WINDOW); } }