Die Klasse Dialog ist wie folgt
implementiert:
1 public class Dialog extends FrameWrapper implements IFrame {
2
3 public Dialog(final IWindow parent, final String title, final IImageConstant icon) {
4 this(parent, BPF.dialog(title).setIcon(icon));
5 }
6
7 public Dialog(final IWindow parent, final String title) {
8 this(parent, BPF.dialog(title));
9 }
10
11 public Dialog(final IWindow parent, final IWidgetDescriptor<? extends IFrame> descriptor) {
12 super(Toolkit.getWidgetFactory().create(
13 Assert.getParamNotNull(parent, "parent").getUiReference(),
14 descriptor));
15 }
16
17 protected IFrame getFrame() {
18 return (IFrame) super.getWidget();
19 }
20 }
Das
BaseDialogSnipped
demonstriert die Verwendung der Klasse
Dialog:
1 public final class BaseDialogSnipped implements IApplication {
2
3 @Override
4 public void start(final IApplicationLifecycle lifecycle) {
5
6 //create the root frame
7 final IFrameBluePrint frameBp = BPF.frame().setTitle("Base dialog Snipped");
8 frameBp.setSize(new Dimension(300, 200));
9 final IFrame frame = Toolkit.createRootFrame(frameBp, lifecycle);
10 frame.setLayout(new MigLayoutDescriptor("[]", "[]"));
11
12 //create a dialog
13 final IFrame dialog = new MyDialog(frame);
14
15 //create a button that opens the dialog
16 final IButton button = frame.add(BPF.button("Open dialog"));
17 button.addActionListener(new IActionListener() {
18 @Override
19 public void actionPerformed() {
20 dialog.setVisible(true);
21 }
22 });
23
24 //set the frame visible
25 frame.setVisible(true);
26 }
27
28 private final class MyDialog extends Dialog {
29
30 public MyDialog(final IWindow parent) {
31 super(parent, "My Dialog");
32
33 setMinPackSize(new Dimension(300, 0));
34
35 setLayout(new MigLayoutDescriptor("wrap", "[][grow]", "[][]"));
36
37 add(BPF.textLabel("Label 1"));
38 add(BPF.inputFieldString(), "growx");
39
40 add(BPF.textLabel("Label 2"));
41 add(BPF.inputFieldString(), "growx");
42 }
43
44 }
45 }