home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 November / Chip_1998-11_cd.bin / tema / Cafe / WDESAMPL.BIN / AppletFrame.java < prev    next >
Text File  |  1996-12-06  |  3KB  |  111 lines

  1. /*
  2.  * @(#)AppletFrame.java    1.3 96/12/06
  3.  *
  4.  * Copyright (c) 1994-1996 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
  7.  * modify and redistribute this software in source and binary code form,
  8.  * provided that i) this copyright notice and license appear on all copies of
  9.  * the software; and ii) Licensee does not utilize the software in a manner
  10.  * which is disparaging to Sun.
  11.  *
  12.  * This software is provided "AS IS," without a warranty of any kind. ALL
  13.  * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
  14.  * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
  15.  * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
  16.  * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
  17.  * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
  18.  * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
  19.  * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
  20.  * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
  21.  * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
  22.  * POSSIBILITY OF SUCH DAMAGES.
  23.  *
  24.  * This software is not designed or intended for use in on-line control of
  25.  * aircraft, air traffic, aircraft navigation or aircraft communications; or in
  26.  * the design, construction, operation or maintenance of any nuclear
  27.  * facility. Licensee represents and warrants that it will not use or
  28.  * redistribute the Software for such purposes.
  29.  */
  30.  
  31. import java.awt.Frame;
  32. import java.awt.Event;
  33. import java.awt.Dimension;
  34. import java.applet.Applet;
  35.  
  36. // Applet to Application Frame window
  37. class AppletFrame extends Frame
  38. {
  39.  
  40.     public static void startApplet(String className, 
  41.                                    String title, 
  42.                                    String args[])
  43.     {
  44.        // local variables
  45.        Applet a;
  46.        Dimension appletSize;
  47.  
  48.        try 
  49.        {
  50.           // create an instance of your applet class
  51.           a = (Applet) Class.forName(className).newInstance();
  52.        }
  53.        catch (ClassNotFoundException e) { return; }
  54.        catch (InstantiationException e) { return; }
  55.        catch (IllegalAccessException e) { return; }
  56.  
  57.        // initialize the applet
  58.        a.init();
  59.        a.start();
  60.   
  61.        // create new application frame window
  62.        AppletFrame f = new AppletFrame(title);
  63.   
  64.        // add applet to frame window
  65.        f.add("Center", a);
  66.   
  67.        // resize frame window to fit applet
  68.        // assumes that the applet sets its own size
  69.        // otherwise, you should set a specific size here.
  70.        appletSize =  a.size();
  71.        f.pack();
  72.        f.resize(appletSize);  
  73.  
  74.        // show the window
  75.        f.show();
  76.   
  77.     }  // end startApplet()
  78.   
  79.   
  80.     // constructor needed to pass window title to class Frame
  81.     public AppletFrame(String name)
  82.     {
  83.        // call java.awt.Frame(String) constructor
  84.        super(name);
  85.     }
  86.  
  87.     // needed to allow window close
  88.     public boolean handleEvent(Event e)
  89.     {
  90.        // Window Destroy event
  91.        if (e.id == Event.WINDOW_DESTROY)
  92.        {
  93.           // exit the program
  94.           System.exit(0);
  95.           return true;
  96.        }
  97.        
  98.        // it's good form to let the super class look at any 
  99.        // unhandled events
  100.        return super.handleEvent(e);
  101.  
  102.     }  // end handleEvent()
  103.  
  104. }   // end class AppletFrame
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.