KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > ch > ethz > prose > tools > AddVMDialog


1 //
2
// This file is part of the prose package.
3
//
4
// The contents of this file are subject to the Mozilla Public License
5
// Version 1.1 (the "License"); you may not use this file except in
6
// compliance with the License. You may obtain a copy of the License at
7
// http://www.mozilla.org/MPL/
8
//
9
// Software distributed under the License is distributed on an "AS IS" basis,
10
// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11
// for the specific language governing rights and limitations under the
12
// License.
13
//
14
// The Original Code is prose.
15
//
16
// The Initial Developer of the Original Code is Andrei Popovici. Portions
17
// created by Andrei Popovici are Copyright (C) 2002 Andrei Popovici.
18
// All Rights Reserved.
19
//
20
// Contributor(s):
21
/*
22  * AddVMDialog.java
23  *
24  * Created on December 30, 2002, 4:18 PM
25  */

26
27 package ch.ethz.prose.tools;
28
29 import javax.swing.JOptionPane JavaDoc;
30 import javax.swing.event.DocumentEvent JavaDoc;
31 import javax.swing.event.DocumentListener JavaDoc;
32 import javax.swing.text.BadLocationException JavaDoc;
33 import javax.swing.text.Document JavaDoc;
34
35 /**
36  *
37  * @author pschoch
38  */

39 public class AddVMDialog extends javax.swing.JDialog JavaDoc {
40
41   private String JavaDoc nameVM = null;
42   private String JavaDoc ip = "";
43   private String JavaDoc port = "5000";
44
45
46   /** Creates new form AddVMDialog */
47   public AddVMDialog(java.awt.Frame JavaDoc parent, boolean modal) {
48     super(parent, modal);
49     initComponents();
50     customizeComponents();
51   }
52
53   protected class MyDocumentListener implements DocumentListener JavaDoc {
54     private String JavaDoc which;
55     public MyDocumentListener(String JavaDoc which) {
56       this.which = which;
57     }
58     public void insertUpdate(DocumentEvent JavaDoc e) {
59         displayEditInfo(e);
60     }
61     public void removeUpdate(DocumentEvent JavaDoc e) {
62         displayEditInfo(e);
63     }
64     public void changedUpdate(DocumentEvent JavaDoc e) {
65         // Plain Text components don't fire this events.
66
}
67     private void displayEditInfo(DocumentEvent JavaDoc e) {
68             String JavaDoc text = null;
69             Document JavaDoc doc = (Document JavaDoc)e.getDocument();
70             try
71               {
72                 text = doc.getText(0, doc.getLength());
73               }
74             catch (BadLocationException JavaDoc es)
75           {
76            throw new Error JavaDoc("bad location in AddVMDialog");
77           }
78             if (which.equals("name"))
79                 nameVM = text;
80             else if (which.equals("ip"))
81                 ip = text;
82             else if (which.equals("port"))
83           port = text;
84             else
85           throw new RuntimeException JavaDoc("wrong label: "+which);
86     }
87   }
88
89   /** This method is called from within the constructor to
90    * initialize the form.
91    * WARNING: Do NOT modify this code. The content of this method is
92    * always regenerated by the Form Editor.
93    */

94     private void initComponents() {//GEN-BEGIN:initComponents
95
input = new javax.swing.JPanel JavaDoc();
96         namePane = new javax.swing.JPanel JavaDoc();
97         nameLabel = new javax.swing.JLabel JavaDoc();
98         nameTextField = new javax.swing.JTextField JavaDoc();
99         ipPane = new javax.swing.JPanel JavaDoc();
100         ipLabel = new javax.swing.JLabel JavaDoc();
101         ipTextField = new javax.swing.JTextField JavaDoc();
102         portPane = new javax.swing.JPanel JavaDoc();
103         portLabel = new javax.swing.JLabel JavaDoc();
104         portTextField = new javax.swing.JTextField JavaDoc();
105         buttons = new javax.swing.JPanel JavaDoc();
106         addButton = new javax.swing.JButton JavaDoc();
107         cancelButton = new javax.swing.JButton JavaDoc();
108
109         setTitle("Add new Virtual Machine");
110         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
111         setName("addVMDialog");
112         addWindowListener(new java.awt.event.WindowAdapter JavaDoc() {
113             public void windowClosing(java.awt.event.WindowEvent JavaDoc evt) {
114                 closeDialog(evt);
115             }
116         });
117
118         input.setLayout(new javax.swing.BoxLayout JavaDoc(input, javax.swing.BoxLayout.Y_AXIS));
119
120         input.setPreferredSize(new java.awt.Dimension JavaDoc(300, 200));
121         input.setMinimumSize(new java.awt.Dimension JavaDoc(300, 200));
122         namePane.setLayout(new javax.swing.BoxLayout JavaDoc(namePane, javax.swing.BoxLayout.X_AXIS));
123
124         namePane.setBorder(new javax.swing.border.EmptyBorder JavaDoc(new java.awt.Insets JavaDoc(5, 10, 5, 10)));
125         namePane.setAlignmentX(0.0F);
126         namePane.setMaximumSize(new java.awt.Dimension JavaDoc(300, 58));
127         nameLabel.setText("Name:");
128         nameLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
129         nameLabel.setPreferredSize(new java.awt.Dimension JavaDoc(80, 29));
130         nameLabel.setBorder(new javax.swing.border.EmptyBorder JavaDoc(new java.awt.Insets JavaDoc(1, 1, 1, 10)));
131         nameLabel.setMinimumSize(new java.awt.Dimension JavaDoc(100, 29));
132         nameLabel.setMaximumSize(new java.awt.Dimension JavaDoc(100, 29));
133         namePane.add(nameLabel);
134
135         nameTextField.setToolTipText("name of the VM");
136         nameTextField.setAlignmentX(1.0F);
137         nameTextField.setPreferredSize(new java.awt.Dimension JavaDoc(200, 29));
138         nameTextField.setMaximumSize(new java.awt.Dimension JavaDoc(200, 29));
139         nameTextField.setMinimumSize(new java.awt.Dimension JavaDoc(200, 29));
140         namePane.add(nameTextField);
141
142         input.add(namePane);
143
144
145
146
147         ipPane.setLayout(new javax.swing.BoxLayout JavaDoc(ipPane, javax.swing.BoxLayout.X_AXIS));
148
149         ipPane.setBorder(new javax.swing.border.EmptyBorder JavaDoc(new java.awt.Insets JavaDoc(5, 10, 5, 10)));
150         ipPane.setAlignmentX(0.0F);
151         ipPane.setMaximumSize(new java.awt.Dimension JavaDoc(300, 58));
152         ipLabel.setText("IP:");
153         ipLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
154         ipLabel.setPreferredSize(new java.awt.Dimension JavaDoc(80, 29));
155         ipLabel.setBorder(new javax.swing.border.EmptyBorder JavaDoc(new java.awt.Insets JavaDoc(1, 1, 1, 10)));
156         ipLabel.setMinimumSize(new java.awt.Dimension JavaDoc(100, 29));
157         ipLabel.setMaximumSize(new java.awt.Dimension JavaDoc(100, 29));
158         ipPane.add(ipLabel);
159
160         ipTextField.setToolTipText("IP-Address OR www-Address OR Hostname");
161         ipTextField.setAlignmentX(1.0F);
162         ipTextField.setPreferredSize(new java.awt.Dimension JavaDoc(200, 29));
163         ipTextField.setMaximumSize(new java.awt.Dimension JavaDoc(200, 29));
164         ipTextField.setMinimumSize(new java.awt.Dimension JavaDoc(200, 29));
165         ipPane.add(ipTextField);
166
167         input.add(ipPane);
168
169         portPane.setLayout(new javax.swing.BoxLayout JavaDoc(portPane, javax.swing.BoxLayout.X_AXIS));
170
171         portPane.setBorder(new javax.swing.border.EmptyBorder JavaDoc(new java.awt.Insets JavaDoc(5, 10, 5, 10)));
172         portPane.setPreferredSize(new java.awt.Dimension JavaDoc(222, 29));
173         portPane.setMinimumSize(new java.awt.Dimension JavaDoc(222, 29));
174         portPane.setAlignmentX(0.0F);
175         portPane.setMaximumSize(new java.awt.Dimension JavaDoc(300, 58));
176         portLabel.setText("Port:");
177         portLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
178         portLabel.setPreferredSize(new java.awt.Dimension JavaDoc(60, 29));
179         portLabel.setBorder(new javax.swing.border.EmptyBorder JavaDoc(new java.awt.Insets JavaDoc(1, 1, 1, 10)));
180         portLabel.setMinimumSize(new java.awt.Dimension JavaDoc(100, 29));
181         portLabel.setMaximumSize(new java.awt.Dimension JavaDoc(100, 29));
182         portPane.add(portLabel);
183
184         portTextField.setToolTipText("Portnumber");
185         portTextField.setText("5000");
186         portTextField.setPreferredSize(new java.awt.Dimension JavaDoc(200, 29));
187         portTextField.setMaximumSize(new java.awt.Dimension JavaDoc(200, 29));
188         portTextField.setMinimumSize(new java.awt.Dimension JavaDoc(200, 29));
189         portPane.add(portTextField);
190
191         input.add(portPane);
192
193         getContentPane().add(input, java.awt.BorderLayout.CENTER);
194
195         buttons.setLayout(new java.awt.FlowLayout JavaDoc(java.awt.FlowLayout.CENTER, 20, 15));
196
197         addButton.setMnemonic('A');
198         addButton.setText("Add");
199         addButton.setPreferredSize(new java.awt.Dimension JavaDoc(81, 29));
200         addButton.setMaximumSize(new java.awt.Dimension JavaDoc(81, 29));
201         addButton.setMinimumSize(new java.awt.Dimension JavaDoc(81, 29));
202         addButton.addActionListener(new java.awt.event.ActionListener JavaDoc() {
203             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
204                 addButtonActionPerformed(evt);
205             }
206         });
207
208         addButton.addKeyListener(new java.awt.event.KeyAdapter JavaDoc() {
209             public void keyPressed(java.awt.event.KeyEvent JavaDoc evt) {
210                 addButtonKeyPressed(evt);
211             }
212         });
213
214         buttons.add(addButton);
215
216         cancelButton.setMnemonic('C');
217         cancelButton.setText("Cancel");
218         cancelButton.addActionListener(new java.awt.event.ActionListener JavaDoc() {
219             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
220                 cancelButtonActionPerformed(evt);
221             }
222         });
223
224         buttons.add(cancelButton);
225         getContentPane().add(buttons, java.awt.BorderLayout.SOUTH);
226         pack();
227     }//GEN-END:initComponents
228

229   private void addButtonKeyPressed(java.awt.event.KeyEvent JavaDoc evt) {//GEN-FIRST:event_addButtonKeyPressed
230
if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER)
231       addButtonAction();
232   }//GEN-LAST:event_addButtonKeyPressed
233

234   private void cancelButtonActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_cancelButtonActionPerformed
235
setVisible(false);
236     dispose();
237   }//GEN-LAST:event_cancelButtonActionPerformed
238

239   private void addButtonActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_addButtonActionPerformed
240
addButtonAction();
241   }//GEN-LAST:event_addButtonActionPerformed
242

243   /** Closes the dialog */
244   private void closeDialog(java.awt.event.WindowEvent JavaDoc evt) {//GEN-FIRST:event_closeDialog
245
setVisible(false);
246     dispose();
247   }//GEN-LAST:event_closeDialog
248

249   private void addButtonAction()
250     {
251       try
252     {
253           ((JMultipleProseClient)getOwner()).addTab(nameVM,ip,port,true);
254           setVisible(false);
255           dispose();
256     }
257       catch (Exception JavaDoc e)
258     {
259       JMultipleProseClient.showException(this,e);
260       if (e instanceof java.rmi.RemoteException JavaDoc)
261         {
262           setVisible(false);
263           dispose();
264         }
265     }
266     }
267
268   private void customizeComponents()
269     {
270       nameTextField.getDocument().addDocumentListener(new MyDocumentListener("name"));
271       portTextField.getDocument().addDocumentListener(new MyDocumentListener("port"));
272       ipTextField.getDocument().addDocumentListener(new MyDocumentListener("ip"));
273       this.setLocationRelativeTo(this.getParent());
274     }
275
276
277     // Variables declaration - do not modify//GEN-BEGIN:variables
278
private javax.swing.JLabel JavaDoc nameLabel;
279     private javax.swing.JPanel JavaDoc portPane;
280     private javax.swing.JLabel JavaDoc ipLabel;
281     private javax.swing.JPanel JavaDoc input;
282     private javax.swing.JTextField JavaDoc ipTextField;
283     private javax.swing.JButton JavaDoc addButton;
284     private javax.swing.JPanel JavaDoc buttons;
285     private javax.swing.JButton JavaDoc cancelButton;
286     private javax.swing.JTextField JavaDoc portTextField;
287     private javax.swing.JPanel JavaDoc ipPane;
288     private javax.swing.JLabel JavaDoc protocolLabel;
289     private javax.swing.JLabel JavaDoc portLabel;
290     private javax.swing.JPanel JavaDoc namePane;
291     private javax.swing.JTextField JavaDoc nameTextField;
292     private javax.swing.JPanel JavaDoc protocolPane;
293     private javax.swing.JTextField JavaDoc protocolTextField;
294     // End of variables declaration//GEN-END:variables
295

296 }
297
Popular Tags