]> git.mxchange.org Git - flightgear.git/commitdiff
Half-finished utility class.
authordavid <david>
Fri, 28 Jun 2002 14:15:53 +0000 (14:15 +0000)
committerdavid <david>
Fri, 28 Jun 2002 14:15:53 +0000 (14:15 +0000)
scripts/java/FGClient/src/org/flightgear/fgfsclient/Util.java [new file with mode: 0644]

diff --git a/scripts/java/FGClient/src/org/flightgear/fgfsclient/Util.java b/scripts/java/FGClient/src/org/flightgear/fgfsclient/Util.java
new file mode 100644 (file)
index 0000000..684b762
--- /dev/null
@@ -0,0 +1,70 @@
+package org.flightgear.fgfsclient;
+
+import java.io.IOException;
+
+import java.awt.GridLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JTextField;
+
+
+public final class Util
+{
+
+    public static void forceConnection (JFrame frame, final FGFSConnection fgfs)
+    {
+       while (!fgfs.isConnected()) {
+           final JDialog dialog =
+               new JDialog(frame, "Connect to FlightGear", true);
+           dialog.getContentPane().setLayout(new GridLayout(3, 2));
+           dialog.getContentPane().add(new JLabel("Host:"));
+
+           final JTextField hostField = new JTextField(20);
+           hostField.setText(fgfs.getHost());
+           dialog.getContentPane().add(hostField);
+
+           dialog.getContentPane().add(new JLabel("Port:"));
+
+           final JTextField portField = new JTextField(5);
+           portField.setText(Integer.toString(fgfs.getPort()));
+           dialog.getContentPane().add(portField);
+
+           JButton connectButton = new JButton("Connect");
+           connectButton.addActionListener(new ActionListener() {
+               public void actionPerformed (ActionEvent ev)
+               {
+                   try {
+                       fgfs.open(hostField.getText(),
+                                 Integer.parseInt(portField.getText()));
+                   } catch (IOException ex) {
+                       JOptionPane.showMessageDialog(dialog, ex.getMessage(),
+                                                     "Alert", JOptionPane.ERROR_MESSAGE);
+                   }
+                   dialog.hide();
+               }
+           });
+           dialog.getContentPane().add(connectButton);
+           dialog.getRootPane().setDefaultButton(connectButton);
+
+           JButton quitButton = new JButton("Quit");
+           quitButton.addActionListener(new ActionListener() {
+               public void actionPerformed (ActionEvent ev)
+               {
+                   System.exit(0); // FIXME
+               }
+           });
+           dialog.getContentPane().add(quitButton);
+
+           dialog.pack();
+           dialog.show();
+           
+       }
+    }
+
+}