/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.pepsoft.worldpainter; import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import javax.swing.AbstractAction; import javax.swing.ActionMap; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JDialog; import javax.swing.KeyStroke; /** * * @author pepijn */ public class WorldPainterDialog extends JDialog { public WorldPainterDialog(Window parent) { this(parent, true); } public WorldPainterDialog(Window parent, boolean enableHelpKey) { super(parent, ModalityType.APPLICATION_MODAL); ActionMap actionMap = rootPane.getActionMap(); actionMap.put("cancel", new AbstractAction("cancel") { @Override public void actionPerformed(ActionEvent e) { cancel(); } private static final long serialVersionUID = 1L; }); InputMap inputMap = rootPane.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "cancel"); if (enableHelpKey) { getRootPane().putClientProperty(App.HELP_KEY_KEY, "Dialog/" + getClass().getSimpleName()); actionMap.put("help", new AbstractAction("help") { @Override public void actionPerformed(ActionEvent e) { App.getInstance().showHelp(WorldPainterDialog.this); } private static final long serialVersionUID = 1L; }); inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0), "help"); } } public final boolean isCancelled() { return cancelled; } protected void ok() { cancelled = false; dispose(); } protected void cancel() { dispose(); } private boolean cancelled = true; private static final long serialVersionUID = 1L; }