KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > rero > dialogs > toolkit > ADialog


1 package rero.dialogs.toolkit;
2
3 import javax.swing.*;
4 import javax.swing.event.*;
5
6 import java.awt.*;
7 import java.awt.event.*;
8
9 import java.util.*;
10
11 public class ADialog extends JDialog implements ActionListener
12 {
13    protected APanel panel;
14    protected Object JavaDoc returnValue;
15
16    protected JButton ok, cancel;
17
18    protected Object JavaDoc value;
19
20    public Object JavaDoc showDialog(Component comp)
21    {
22       setLocationRelativeTo(comp);
23       setVisible(true);
24       return returnValue;
25    }
26
27    public ADialog(Component comp, String JavaDoc title, APanel _panel, Object JavaDoc _value)
28    {
29        super(JOptionPane.getFrameForComponent(comp), title, true);
30
31        value = _value;
32
33        panel = _panel;
34        getContentPane().setLayout(new BorderLayout());
35
36
37        JPanel temp = new JPanel();
38        temp.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
39        temp.setLayout(new BorderLayout());
40        temp.add(panel, BorderLayout.CENTER);
41
42        getContentPane().add(temp, BorderLayout.CENTER);
43
44        JPanel buttons = new JPanel();
45        buttons.setLayout(new FlowLayout(FlowLayout.RIGHT));
46   
47        ok = new JButton("Ok");
48        ok.setMnemonic('O');
49        ok.addActionListener(this);
50
51        cancel = new JButton("Cancel");
52        cancel.setMnemonic('C');
53        cancel.addActionListener(this);
54   
55        buttons.add(ok);
56        buttons.add(cancel);
57
58        getContentPane().add(buttons, BorderLayout.SOUTH);
59
60        panel.processParent(this);
61
62        returnValue = null;
63    }
64
65    public void closeAndReturn()
66    {
67        returnValue = panel.getValue(value);
68        setVisible(false);
69    }
70
71    public void actionPerformed(ActionEvent ev)
72    {
73        if (ev.getSource() == ok)
74        {
75            returnValue = panel.getValue(value);
76        }
77        else if (ev.getSource() == cancel)
78        {
79            returnValue = null;
80        }
81        else
82        {
83            returnValue = panel.getValue(ev.getActionCommand());
84        }
85
86        setVisible(false);
87    }
88 }
89
Popular Tags