Source Code : Dialog with Escape Key

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

Dialog with Escape Key

Dialog with Escape Key
   
import java.awt.BorderLayout;
import java.awt.Dialog;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.InputMap;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRootPane;
import javax.swing.KeyStroke;

public class FrameKey {

  public static void main(String args[]) {
    final JFrame frame = new JFrame("Frame Key");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Action actionListener = new AbstractAction() {
      public void actionPerformed(ActionEvent actionEvent) {
        JDialog dialog = new EscapeDialog(frame, "Hey");
        JButton button = new JButton("Okay");
        ActionListener innerActionListener = new ActionListener() {
          public void actionPerformed(ActionEvent actionEvent) {
            System.out.println("Dialog Button Selected");
          }
        };
        button.addActionListener(innerActionListener);
        dialog.getContentPane().add(button, BorderLayout.SOUTH);
        dialog.setSize(200, 200);
        dialog.show();
      }
    };

    JPanel content = (JPanel) frame.getContentPane();
    KeyStroke stroke = KeyStroke.getKeyStroke("M");

    InputMap inputMap = content
        .getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
    inputMap.put(stroke, "OPEN");
    content.getActionMap().put("OPEN", actionListener);

    frame.setSize(300, 300);
    frame.setVisible(true);
  }
}

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 JRootPane createRootPane() {
    JRootPane rootPane = new JRootPane();
    KeyStroke stroke = KeyStroke.getKeyStroke("ESCAPE");
    Action actionListener = new AbstractAction() {
      public void actionPerformed(ActionEvent actionEvent) {
        setVisible(false);
      }
    };
    InputMap inputMap = rootPane
        .getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
    inputMap.put(stroke, "ESCAPE");
    rootPane.getActionMap().put("ESCAPE", actionListener);

    return rootPane;
  }
}

           
         
    
    
  

Thank with us