package de.memtext.dlg; import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dialog; import java.awt.Frame; import java.awt.GraphicsConfiguration; import java.awt.HeadlessException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** A abstract dialog with OK and DONE buttons. Subclasses must implement performDone() and performOK(); */ public abstract class OkDoneDlg extends DialogWithExit { /** * Constructor for OkDoneDlg. * @throws HeadlessException */ public OkDoneDlg() throws HeadlessException { super(); initSouth(); } /** * Constructor for OkDoneDlg. * @param arg0 * @throws HeadlessException */ public OkDoneDlg(Frame arg0) throws HeadlessException { super(arg0); initSouth(); } /** * Constructor for OkDoneDlg. * @param arg0 * @param arg1 * @throws HeadlessException */ public OkDoneDlg(Frame arg0, boolean arg1) throws HeadlessException { super(arg0, arg1); initSouth(); } /** * Constructor for OkDoneDlg. * @param arg0 * @param arg1 * @throws HeadlessException */ public OkDoneDlg(Frame arg0, String arg1) throws HeadlessException { super(arg0, arg1); initSouth(); } /** * Constructor for OkDoneDlg. * @param arg0 * @param arg1 * @param arg2 * @throws HeadlessException */ public OkDoneDlg(Frame arg0, String arg1, boolean arg2) throws HeadlessException { super(arg0, arg1, arg2); initSouth(); } /** * Constructor for OkDoneDlg. * @param arg0 * @param arg1 * @param arg2 * @param arg3 */ public OkDoneDlg(Frame arg0, String arg1, boolean arg2, GraphicsConfiguration arg3) { super(arg0, arg1, arg2, arg3); initSouth(); } /** * Constructor for OkDoneDlg. * @param arg0 * @throws HeadlessException */ public OkDoneDlg(Dialog arg0) throws HeadlessException { super(arg0); initSouth(); } /** * Constructor for OkDoneDlg. * @param arg0 * @param arg1 * @throws HeadlessException */ public OkDoneDlg(Dialog arg0, boolean arg1) throws HeadlessException { super(arg0, arg1); initSouth(); } /** * Constructor for OkDoneDlg. * @param arg0 * @param arg1 * @throws HeadlessException */ public OkDoneDlg(Dialog arg0, String arg1) throws HeadlessException { super(arg0, arg1); initSouth(); } /** * Constructor for OkDoneDlg. * @param arg0 * @param arg1 * @param arg2 * @throws HeadlessException */ public OkDoneDlg(Dialog arg0, String arg1, boolean arg2) throws HeadlessException { super(arg0, arg1, arg2); initSouth(); } /** * Constructor for OkDoneDlg. * @param arg0 * @param arg1 * @param arg2 * @param arg3 * @throws HeadlessException */ public OkDoneDlg(Dialog arg0, String arg1, boolean arg2, GraphicsConfiguration arg3) throws HeadlessException { super(arg0, arg1, arg2, arg3); initSouth(); } private void initSouth() { OkCancelPanel ocp = new OkCancelPanel(); Container cp = this.getContentPane(); cp.add(ocp, BorderLayout.SOUTH); ocp.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { String cmd = ae.getActionCommand(); if (cmd.equals("OK")) { performOk(); } if (cmd.equals("Done")) { performDone(); } } }); ; } /** * subclasses must implement this method and specify commands * to be executed when OK was clicked */ protected abstract void performOk(); /** * subclasses must implement this method and specify commands * to be executed when DONE was clicked */ protected abstract void performDone(); }