Index: trunk/src/tmcsim/client/CADClient.java
===================================================================
--- trunk/src/tmcsim/client/CADClient.java	(revision 453)
+++ trunk/src/tmcsim/client/CADClient.java	(revision 525)
@@ -1,4 +1,10 @@
 package tmcsim.client;
 
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Dialog;
+import java.awt.Font;
+import java.awt.GraphicsEnvironment;
+import java.awt.Point;
 import java.awt.event.WindowEvent;
 import java.awt.event.WindowListener;
@@ -13,8 +19,11 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import javax.swing.JDialog;
 
 import javax.swing.JFrame;
+import javax.swing.JLabel;
 import javax.swing.JOptionPane;
 import javax.swing.JWindow;
+import javax.swing.SwingConstants;
 import javax.swing.UIManager;
 
@@ -136,5 +145,8 @@
         if (!verifyProperties(propertiesFile))
             System.exit(0);
-
+        // Display a splash screen. Ticket #199.
+        JDialog dlg = createSplashScreen();
+        dlg.setVisible(true);
+        
         connect(cadClientProp.getProperty(PROPERTIES.CAD_SIM_HOST.name).trim(),
                 cadClientProp.getProperty(PROPERTIES.CAD_RMI_PORT.name).trim());
@@ -218,5 +230,7 @@
                 }
             });
-
+            // Remove the splash screen.
+            dlg.dispose();
+            
             theClientScreenView.initWindow();
             theClientScreenView.setVisible(false);
@@ -255,5 +269,4 @@
                 }
             });
-
             cadFrame.setVisible(true);
         }
@@ -269,6 +282,4 @@
 
         ensureProperShutdown();
-        
-        
     }
 
@@ -504,5 +515,35 @@
 
     }
-
+    
+    /** Create a Splash Screen that displays a "loading" message.
+     *  Implements ticket #199 
+     * @return a JDialog with a "loading" message.
+     */
+    private JDialog createSplashScreen()
+    {
+        final int dialogSize = 300;  // desired width and height of dialog
+        // create the dialog
+        JDialog dlg = new JDialog(null,"VisiCAD loading",Dialog.ModalityType.MODELESS);
+        // make the dialog background a color similar to the login screen background
+        dlg.getContentPane().setBackground(new Color(78, 162, 210));
+        // create the text message to be displayed
+        JLabel dlgMsg = new JLabel("Just a moment ...", SwingConstants.CENTER); 
+        // configure the font and color of the text message
+        dlgMsg.setFont(new Font("Arial", Font.PLAIN, 22));
+        dlgMsg.setForeground(Color.white);
+        // Add the msg to the center of the dialog
+        dlg.add(dlgMsg,BorderLayout.CENTER); 
+        // Set how big we want the dialog to be
+        dlg.setSize(dialogSize, dialogSize);
+        // Calculate where to place the dialog on the screen
+        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
+        Point centerPoint = ge.getCenterPoint();
+        int dx = centerPoint.x - dialogSize/2;
+        int dy = centerPoint.y - dialogSize/2;
+        dlg.setLocation(dx, dy);
+        // return the completely built dialog
+        return dlg;
+    }
+    
     public void refresh() {
         theClientGUI.screen.refreshScreens();
