package org.ripple.power.ui.view; import java.awt.Window; import java.awt.Frame; import java.awt.GraphicsConfiguration; import java.awt.HeadlessException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import javax.swing.JComponent; import javax.swing.JDialog; import javax.swing.JRootPane; import javax.swing.KeyStroke; import org.ripple.power.config.LSystem; import org.ripple.power.helper.HelperWindow; import org.ripple.power.ui.UIMessage; import org.ripple.power.ui.UIRes; import org.ripple.power.utils.SwingUtils; public abstract class ABaseDialog extends JDialog { /** * */ private static final long serialVersionUID = 1L; private void init(){ addWindowListener(HelperWindow.get()); setIconImage(UIRes.getIcon()); setResizable(false); } public ABaseDialog() throws HeadlessException { super(); init(); } public ABaseDialog(String title) { super(LSystem.applicationMain, title); init(); } public ABaseDialog(Window parent, String title, ModalityType modal) throws HeadlessException { super(parent, title, modal); init(); } public ABaseDialog(Window parent, String title) throws HeadlessException { super(parent, title); init(); } public ABaseDialog(Window parent) throws HeadlessException { super(parent); init(); } public ABaseDialog(Frame parent, boolean modal) throws HeadlessException { super(parent, modal); init(); } public ABaseDialog(Frame parent, String title, boolean modal, GraphicsConfiguration gc) { super(parent, title, modal, gc); init(); } public ABaseDialog(Frame parent, String title, boolean modal) throws HeadlessException { super(parent, title, modal); init(); } public ABaseDialog(Frame parent, String title) throws HeadlessException { super(parent, title); init(); } public ABaseDialog(Frame parent) throws HeadlessException { super(parent); init(); } protected JRootPane createRootPane() { KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0); JRootPane rootPane = super.createRootPane(); rootPane.registerKeyboardAction(closeDialogActionListener(), keyStroke, JComponent.WHEN_IN_FOCUSED_WINDOW); return rootPane; } private ActionListener closeDialogActionListener() { return new ActionListener() { public void actionPerformed(ActionEvent e) { SwingUtils.close(ABaseDialog.this); } }; } public void info(String text) { UIMessage.infoMessage(this, text); } public void alert(String text) { UIMessage.alertMessage(this, text); } }