KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > panoptes > view > swing > editors > MBeanServerDialog


1 /*
2  * Created on Aug 31, 2003
3  *
4  */

5 package net.sf.panoptes.view.swing.editors;
6
7 import java.awt.Frame JavaDoc;
8 import java.awt.HeadlessException JavaDoc;
9 import java.awt.event.ActionEvent JavaDoc;
10 import java.awt.event.ActionListener JavaDoc;
11 import java.net.InetAddress JavaDoc;
12 import java.net.UnknownHostException JavaDoc;
13 import java.util.Iterator JavaDoc;
14 import java.util.List JavaDoc;
15
16 import javax.swing.JButton JavaDoc;
17 import javax.swing.JCheckBox JavaDoc;
18 import javax.swing.JComboBox JavaDoc;
19 import javax.swing.JFrame JavaDoc;
20 import javax.swing.JPanel JavaDoc;
21 import javax.swing.JTextField JavaDoc;
22 import javax.swing.UIManager JavaDoc;
23
24 import net.sf.panoptes.component.jmx.connector.MBeanServerConnector;
25 import net.sf.panoptes.registry.ConnectorRegistry;
26 import net.sf.panoptes.swing.DefaultFormBuilder;
27 import net.sf.panoptes.swing.dialogs.BannerDialog;
28 import net.sf.panoptes.swing.dialogs.DialogUtil;
29
30 import com.jgoodies.forms.builder.ButtonBarBuilder;
31 import com.jgoodies.forms.layout.FormLayout;
32
33 /**
34  *
35  *
36  * @author Dag Liodden
37  * @version 0.1
38  */

39 public class MBeanServerDialog extends BannerDialog {
40
41     private JTextField JavaDoc serverName = new JTextField JavaDoc();
42     private JComboBox JavaDoc serverType = new JComboBox JavaDoc();
43     private JTextField JavaDoc hostName = new JTextField JavaDoc();
44     private JTextField JavaDoc rmiPort = new JTextField JavaDoc();
45     private JTextField JavaDoc jndiName = new JTextField JavaDoc();
46     private JCheckBox JavaDoc connectImmediately = new JCheckBox JavaDoc();
47
48     private List JavaDoc connectors;
49     
50     /**
51      * @param owner
52      * @param title
53      * @param shortDescription
54      * @param fullDescription
55      * @param bannerIcon
56      * @param modal
57      * @throws HeadlessException
58      */

59     public MBeanServerDialog(Frame JavaDoc owner) throws HeadlessException JavaDoc {
60         super(
61             owner,
62             "Connect",
63             "Connect",
64             "Connect to an MBean Server",
65             "icons/banners/new_wiz.gif",
66             true, false);
67         
68         connectors = ConnectorRegistry.getInstance().getConnectors();
69         for (Iterator JavaDoc i = connectors.iterator(); i.hasNext();) {
70             serverType.addItem(((MBeanServerConnector) i.next()).getName());
71         }
72         
73         setButtonPanel(createButtons());
74         setMainPanel(createMain());
75         setInitValues();
76     }
77
78     private JPanel JavaDoc createMain() {
79         
80         serverType.addActionListener(new ActionListener JavaDoc() {
81             public void actionPerformed(ActionEvent JavaDoc e) {
82                 jndiName.setText(getDefaultJNDIName());
83             }
84         });
85
86         FormLayout layout = DialogUtil.defaultOneColumnLayout();
87         DefaultFormBuilder builder = new DefaultFormBuilder(layout);
88         builder.setDefaultDialogBorder();
89
90         builder.append("Name (description):", serverName);
91         builder.append("Server type:", serverType);
92         builder.append("Host:", hostName);
93         builder.append("RMI port:", rmiPort);
94         builder.append("JNDI Name:", jndiName);
95         builder.append("Connect immediately:", connectImmediately);
96         return builder.getPanel();
97     }
98     private JPanel JavaDoc createButtons() {
99         
100         JButton JavaDoc btnOK = new JButton JavaDoc("OK");
101         btnOK.addActionListener(new ActionListener JavaDoc() {
102             public void actionPerformed(ActionEvent JavaDoc e) {
103                 setResult(OK);
104                 setVisible(false);
105             }
106         });
107         
108         JButton JavaDoc btnCancel = new JButton JavaDoc("Cancel");
109         btnCancel.addActionListener(new ActionListener JavaDoc() {
110             public void actionPerformed(ActionEvent JavaDoc e) {
111                 setResult(CANCEL);
112                 setVisible(false);
113             }
114         });
115         
116         ButtonBarBuilder builder = new ButtonBarBuilder();
117         //builder.addGridded(new JButton("Help"));
118
builder.addGlue();
119         builder.addUnrelatedGap();
120         builder.addGridded(btnOK);
121         builder.addRelatedGap();
122         builder.addGridded(btnCancel);
123         return builder.getPanel();
124     }
125     
126     private void setInitValues() {
127         serverType.setSelectedIndex(0);
128         rmiPort.setText("1099");
129         try {
130             serverName.setText(InetAddress.getLocalHost().getHostName());
131         } catch (UnknownHostException JavaDoc e) {
132             serverName.setText("localhost");
133         }
134         hostName.setText("localhost");
135         jndiName.setText(getDefaultJNDIName());
136         connectImmediately.setSelected(true);
137     }
138     
139     protected String JavaDoc getDefaultJNDIName() {
140         MBeanServerConnector c;
141         try {
142             c =
143                 (MBeanServerConnector) connectors.get(serverType.getSelectedIndex());
144             return c.getDefaultJNDIName();
145         } catch (Exception JavaDoc e) {
146             return "";
147         }
148     }
149
150     public String JavaDoc getHostName() {
151         return hostName.getText();
152     }
153
154     public int getPort() {
155         return Integer.parseInt(rmiPort.getText());
156     }
157
158     public String JavaDoc getJNDIName() {
159         return jndiName.getText();
160     }
161
162     public String JavaDoc getServerName() {
163         return serverName.getText();
164     }
165     public MBeanServerConnector getConnector() {
166         return (MBeanServerConnector) connectors.get(serverType.getSelectedIndex());
167     }
168
169     public boolean connectImmediately() {
170         return connectImmediately.isSelected();
171     }
172     
173     public static void main(String JavaDoc[] args) {
174         try {
175             UIManager.setLookAndFeel("com.jgoodies.plaf.plastic.PlasticXPLookAndFeel");
176         } catch (Exception JavaDoc e) {
177             e.printStackTrace();
178         }
179         BannerDialog d = new MBeanServerDialog(new JFrame JavaDoc());
180         d.pack();
181         d.show();
182         System.out.println(d.getResult());
183         System.exit(0);
184     }
185 }
186
Popular Tags