You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.0 KiB
80 lines
2.0 KiB
package de.memtext.dlg; |
|
|
|
import java.awt.Frame; |
|
import java.awt.HeadlessException; |
|
import java.awt.event.ActionEvent; |
|
import java.awt.event.ActionListener; |
|
|
|
import javax.swing.JButton; |
|
import javax.swing.JFrame; |
|
import javax.swing.JLabel; |
|
|
|
/** |
|
* Abstract Dialog in which OK or Cancel can be clicked. |
|
* Subclasses must implement performCancel and performOk. |
|
* setCenter for convenience. |
|
* |
|
It's important that clients don't call |
|
getContentPane().setLayout(new BorderLayout()) or something like that, |
|
because that will cause southPanel to disappear |
|
*/ |
|
public abstract class OkCancelClearDlg extends OkCancelDlg { |
|
private boolean wasClearSelected; |
|
|
|
protected JButton btnClear = new JButton("Leeren"); |
|
|
|
/** |
|
* Constructor for OkCancelClearDlg. |
|
* @param arg0 |
|
* @param arg1 |
|
* @throws HeadlessException |
|
*/ |
|
public OkCancelClearDlg(Frame arg0, String title) throws HeadlessException { |
|
super(arg0, title, true); |
|
initOkCancelClearDlg(); |
|
} |
|
|
|
private void initOkCancelClearDlg() { |
|
|
|
btnClear.setActionCommand("Clear"); |
|
btnClear.addActionListener(new ActionListener() { |
|
|
|
@Override |
|
public void actionPerformed(ActionEvent ae) { |
|
wasOkSelected = false; |
|
wasClearSelected = true; |
|
performClear(); |
|
} |
|
}); |
|
addAfterCancel(btnClear); |
|
} |
|
|
|
public boolean wasClearSelected() { |
|
return wasClearSelected; |
|
} |
|
|
|
protected abstract void performClear(); |
|
|
|
public static void main(String[] args) { |
|
|
|
OkCancelClearDlg dlg = new OkCancelClearDlg(new JFrame(), "test") { |
|
|
|
@Override |
|
protected void performOk() { |
|
} |
|
|
|
@Override |
|
protected void performCancel() { |
|
} |
|
|
|
@Override |
|
protected void performClear() { |
|
} |
|
}; |
|
|
|
// dlg.addAboveOK(new JLabel("bla")); |
|
dlg.setCenter(new JLabel("cnter")); |
|
dlg.pack(); |
|
dlg.show(); |
|
} |
|
}
|
|
|