public class Fireup implements Runnable
   {

   /**
    * fire up the JFrame on the Swing thread
    */
   public void run()
      {
      if ( Config.DEBUG )
         {
         try
            {
            if ( Config.LOOK_AND_FEEL != null )
               {
               UIManager.setLookAndFeel( Config.LOOK_AND_FEEL );
               }
            }
         catch ( Exception e )
            {
            out.println( "Problem setting look and feel" );
            e.printStackTrace();
            }
         JFrame.setDefaultLookAndFeelDecorated ( true );
         final SomeFrame jframe = new SomeFrame( titleString + " " + versionString );
         jframe.setSize( width, height );
         jframe.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
         // Alternatively DISPOSE_ON_CLOSE, HIDE_ON_CLOSE (not recommended)
         // or DO_NOTHING_ON_CLOSE which requires a WindowClosing eventhandler like a Frame closing
         // to decide what to do.
         jframe.validate();
         jframe.setVisible( true );
         } // end if

      }
   /**
    * Debugging harness for a JFrame
    *
    * @param args command line arguments are ignored.
    */
   public static void main ( String args[] )
      {
      // Invoke the run method on the Swing event dispatch thread
      // Sun now recommends you call ALL your GUI methods on the Swing
      // event thread, even the initial setup.
      SwingUtilities.invokeAndWait( new Fireup() );
      } // end main
   }