001: /*
002: * Copyright (c) 2001 Silvere Martin-Michiellot All Rights Reserved.
003: *
004: * Silvere Martin-Michiellot grants you ("Licensee") a non-exclusive,
005: * royalty free, license to use, modify and redistribute this
006: * software in source and binary code form,
007: * provided that i) this copyright notice and license appear on all copies of
008: * the software; and ii) Licensee does not utilize the software in a manner
009: * which is disparaging to Silvere Martin-Michiellot.
010: *
011: * This software is provided "AS IS," without a warranty of any kind. ALL
012: * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
013: * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
014: * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. Silvere Martin-Michiellot
015: * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES
016: * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
017: * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL
018: * Silvere Martin-Michiellot OR ITS LICENSORS BE LIABLE
019: * FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
020: * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
021: * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
022: * OR INABILITY TO USE SOFTWARE, EVEN IF Silvere Martin-Michiellot HAS BEEN
023: * ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
024: *
025: * This software is not designed or intended for use in on-line control of
026: * aircraft, air traffic, aircraft navigation or aircraft communications; or in
027: * the design, construction, operation or maintenance of any nuclear
028: * facility. Licensee represents and warrants that it will not use or
029: * redistribute the Software for such purposes.
030: *
031: * @Author: Silvere Martin-Michiellot
032: *
033: */
034:
035: package com.db.server;
036:
037: import java.awt.*;
038: import java.awt.event.*;
039: import java.io.*;
040: import java.net.InetAddress;
041: import java.net.UnknownHostException;
042: import java.util.*;
043: import javax.swing.*;
044:
045: public class ConnectionJDialog extends JDialog implements
046: ActionListener {
047:
048: private DigitalBiosphereServer parent;
049:
050: private JPanel jPanel3;
051: private JLabel jLabel2;
052: private JPanel jPanel4;
053: private JLabel jLabel3;
054: private JTextField jTextField1;
055: private JLabel jLabel4;
056: private JTextField jTextField2;
057: private JPanel jPanel6;
058: private JButton jButton3;
059: private JButton jButton4;
060:
061: public ConnectionJDialog(DigitalBiosphereServer parent,
062: ResourceBundle resourceBundle) {
063:
064: super (parent);
065:
066: this .parent = parent;
067: jPanel3 = new JPanel();
068: jLabel2 = new JLabel();
069: jPanel4 = new JPanel();
070: jLabel3 = new JLabel();
071: jTextField1 = new JTextField();
072: jLabel4 = new JLabel();
073: jTextField2 = new JTextField();
074: jPanel6 = new JPanel();
075: jButton3 = new JButton();
076: jButton4 = new JButton();
077:
078: this .getContentPane().setLayout(new FlowLayout());
079: this .setName(resourceBundle
080: .getString("Change local IP and Port"));
081: this .setModal(true);
082: this .setTitle(resourceBundle
083: .getString("Change local IP and Port"));
084: this .setResizable(false);
085:
086: /* The following code is to close the windows. */
087:
088: this .addWindowListener(new WindowAdapter() {
089:
090: public void windowClosing(WindowEvent e) {
091:
092: setVisible(false);
093: dispose();
094:
095: }
096:
097: });
098:
099: this .addWindowListener(new WindowAdapter() {
100:
101: public void windowIconified(WindowEvent e) {
102:
103: setVisible(false);
104: dispose();
105:
106: }
107:
108: });
109:
110: jPanel3.setPreferredSize(new Dimension(250, 30));
111: jPanel3.setMinimumSize(new Dimension(250, 30));
112: jPanel3.setMaximumSize(new Dimension(250, 30));
113:
114: jLabel2.setText(resourceBundle
115: .getString("Please select a IP and a new port:"));
116: jPanel3.add(jLabel2);
117:
118: this .getContentPane().add(jPanel3);
119:
120: jPanel4.setLayout(new GridLayout(5, 2));
121: jPanel4.setPreferredSize(new Dimension(300, 120));
122: jPanel4.setMinimumSize(new Dimension(300, 120));
123: jPanel4.setMaximumSize(new Dimension(300, 120));
124:
125: jLabel3.setText(resourceBundle.getString("New IP:"));
126: jPanel4.add(jLabel3);
127:
128: jTextField1.setColumns(40);
129: jTextField1.setToolTipText(resourceBundle
130: .getString("NewIPToolTipText"));
131: jTextField1.getAccessibleContext().setAccessibleDescription(
132: resourceBundle.getString("NewIPAccessibleDescription"));
133: jPanel4.add(jTextField1);
134:
135: jLabel4.setText(resourceBundle.getString("New Port:"));
136: jPanel4.add(jLabel4);
137:
138: jTextField2.setColumns(40);
139: jTextField2.setToolTipText(resourceBundle
140: .getString("NewPortToolTipText"));
141: jTextField2.getAccessibleContext().setAccessibleDescription(
142: resourceBundle
143: .getString("NewPortAccessibleDescription"));
144: jPanel4.add(jTextField2);
145:
146: this .getContentPane().add(jPanel4);
147:
148: jPanel6.setPreferredSize(new Dimension(250, 40));
149: jPanel6.setMinimumSize(new Dimension(250, 40));
150: jPanel6.setMaximumSize(new Dimension(250, 40));
151:
152: jButton3.setText("OK");
153: jButton3.addActionListener(this );
154: jButton3.setToolTipText(resourceBundle
155: .getString("OKToolTipText"));
156: jButton3.getAccessibleContext().setAccessibleDescription(
157: resourceBundle.getString("OKAccessibleDescription"));
158: jPanel6.add(jButton3);
159:
160: jButton4.setText("Cancel");
161: jButton4.addActionListener(this );
162: jButton4.setToolTipText(resourceBundle
163: .getString("CancelToolTipText"));
164: jButton4
165: .getAccessibleContext()
166: .setAccessibleDescription(
167: resourceBundle
168: .getString("CancelAccessibleDescription"));
169: jPanel6.add(jButton4);
170:
171: this .getContentPane().add(jPanel6);
172:
173: this .pack();
174: }
175:
176: public void actionPerformed(ActionEvent TheActionEvent) {
177:
178: InetAddress inetAddress;
179: Object TheObject;
180:
181: TheObject = TheActionEvent.getSource();
182:
183: if (TheObject instanceof JButton) {
184: if (TheObject == jButton3) {
185: try {
186: inetAddress = InetAddress.getByName(jTextField1
187: .getText());
188: this .TheSetCommand(inetAddress, new Integer(
189: jTextField2.getText()).intValue());
190: this .TheCloseCommand();
191: } catch (UnknownHostException unknownHostException) {
192: jTextField1.setText(new String(""));
193: }
194: }
195: if (TheObject == jButton4) {
196: this .TheCloseCommand();
197: }
198: }
199:
200: }
201:
202: private void TheSetCommand(InetAddress inetAddress, int port) {
203:
204: this .parent.setConnectionJDialogResult(inetAddress, port);
205:
206: }
207:
208: private void TheCloseCommand() {
209:
210: this .setVisible(false);
211: this.dispose();
212:
213: }
214:
215: }
|