package ru.kkey.ui.preview;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.WindowEvent;
import static javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW;
/**
* Action for closing the Preview dialog
*/
public class CloseAction extends AbstractAction
{
private static final long serialVersionUID = 1L;
public static void bindToEsc(JDialog window)
{
KeyStroke key = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
window.getRootPane().registerKeyboardAction(new CloseAction(window), key, WHEN_IN_FOCUSED_WINDOW);
}
private JDialog dialog;
public CloseAction(JDialog dialog)
{
this.dialog = dialog;
}
@Override
public void actionPerformed(ActionEvent e)
{
dialog.dispatchEvent(new WindowEvent(dialog, WindowEvent.WINDOW_CLOSING));
dialog.dispose();
}
}