import javax.swing.*; import java.awt.*; import java.awt.event.*; public class SetupEscapeFrame { public static void main(String args[]) { final JFrame frame = new JFrame("Escape Dialog Example"); ActionListener dialogActionListener = new ActionListener() { JDialog dialog = new EscapeDialog(frame, "Escape Dialog"); // Setup dialog once { // Instance initializer 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); } public void actionPerformed(ActionEvent actionEvent) { dialog.setSize(200,200); dialog.show(); } }; JButton dialogButton = new JButton("Open Dialog"); dialogButton.addActionListener(dialogActionListener); frame.getContentPane().add(dialogButton, BorderLayout.NORTH); WindowListener windowListener = new WindowAdapter() { public void windowClosing(WindowEvent windowEvent) { System.exit(0); } }; frame.addWindowListener(windowListener); frame.setSize(300, 300); frame.setVisible(true); } }