package studio.ui;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class EscapeDialog extends JDialog {
public EscapeDialog() {
this((Frame) null,false);
}
public EscapeDialog(Frame owner) {
this(owner,false);
}
public EscapeDialog(Frame owner,boolean modal) {
this(owner,null,modal);
}
public EscapeDialog(Frame owner,String title) {
this(owner,title,false);
}
public EscapeDialog(Frame owner,String title,boolean modal) {
super(owner,title,modal);
}
public EscapeDialog(Dialog owner) {
this(owner,false);
}
public EscapeDialog(Dialog owner,boolean modal) {
this(owner,null,modal);
}
public EscapeDialog(Dialog owner,String title) {
this(owner,title,false);
}
public EscapeDialog(Dialog owner,String title,boolean modal) {
super(owner,title,modal);
}
protected void closeAttempt() {
setVisible(false);
}
protected JRootPane createRootPane() {
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
closeAttempt();
}
};
JRootPane rootPane = new JRootPane();
KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE,0);
rootPane.registerKeyboardAction(actionListener,stroke,JComponent.WHEN_IN_FOCUSED_WINDOW);
return rootPane;
}
}