home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VCafe / WDESAMPL.BIN / ExampleApplet.jar / Switcher.class (.txt)
Encoding:
Java Class File  |  1997-06-23  |  4.7 KB  |  185 lines

  1. import java.applet.Applet;
  2. import java.awt.BorderLayout;
  3. import java.awt.Container;
  4. import java.awt.Label;
  5.  
  6. public class Switcher extends Applet {
  7.    protected Applet applet;
  8.    protected boolean appletFound = false;
  9.    protected static String defaultNewPackage = "newawt";
  10.    protected static String defaultOldPackage = "oldawt";
  11.    protected static int NUMPARAMETERS = 3;
  12.    protected static boolean DEBUG;
  13.  
  14.    protected void mayday(String var1) {
  15.       ((Container)this).add("Center", new Label(var1));
  16.       System.err.println("Switcher initialization failed: " + var1);
  17.    }
  18.  
  19.    public void init() {
  20.       Object var1 = null;
  21.       Object var2 = null;
  22.       String var10 = ((Applet)this).getParameter("APPLETCLASS");
  23.       if (var10 == null) {
  24.          this.mayday("No APPLETCLASS parameter specified");
  25.       } else {
  26.          if (DEBUG) {
  27.             System.out.println("The name of the applet class we're going to try to load: " + var10);
  28.          }
  29.  
  30.          String var9;
  31.          if (this.oneDotOneIsSupported()) {
  32.             var9 = ((Applet)this).getParameter("NEWPACKAGE");
  33.             if (var9 == null) {
  34.                var9 = defaultNewPackage;
  35.             }
  36.  
  37.             if (DEBUG) {
  38.                System.out.println("1.1 is supported; package name: " + var9);
  39.             }
  40.          } else {
  41.             var9 = ((Applet)this).getParameter("OLDPACKAGE");
  42.             if (var9 == null) {
  43.                var9 = defaultOldPackage;
  44.             }
  45.  
  46.             if (DEBUG) {
  47.                System.out.println("1.1 NOT supported; package name: " + var9);
  48.             }
  49.          }
  50.  
  51.          var10 = var9 + "." + var10;
  52.          if (DEBUG) {
  53.             System.out.println("The fully qualified name of the applet class we're going to try to load: " + var10);
  54.          }
  55.  
  56.          try {
  57.             this.applet = (Applet)Class.forName(var10).newInstance();
  58.             this.appletFound = true;
  59.             if (DEBUG) {
  60.                System.out.println("Yay! We found the applet class!");
  61.             }
  62.          } catch (ClassNotFoundException var5) {
  63.             this.mayday("Couldn't find applet: " + var10);
  64.             return;
  65.          } catch (IllegalAccessException var6) {
  66.             this.mayday("Is class " + var10 + " public?");
  67.             return;
  68.          } catch (ClassCastException var7) {
  69.             this.mayday(var10 + " isn't an Applet!");
  70.             return;
  71.          } catch (InstantiationException var8) {
  72.             this.mayday("InstantiationException while attempting to create an instance of " + var10);
  73.             return;
  74.          }
  75.  
  76.          ((Container)this).setLayout(new BorderLayout());
  77.          ((Container)this).add("Center", this.applet);
  78.          if (DEBUG) {
  79.             System.out.println("Successfully loaded class " + var10);
  80.          }
  81.  
  82.          try {
  83.             this.applet.init();
  84.          } catch (Throwable var4) {
  85.             this.mayday("Exception when calling init() method of " + var10);
  86.             var4.printStackTrace();
  87.             return;
  88.          }
  89.  
  90.          ((Container)this).validate();
  91.       }
  92.    }
  93.  
  94.    public void start() {
  95.       if (this.appletFound) {
  96.          this.applet.start();
  97.       }
  98.  
  99.       if (DEBUG) {
  100.          System.out.println(this.getAppletInfo());
  101.          String[][] var1 = this.getParameterInfo();
  102.  
  103.          for(int var2 = 0; var2 < var1.length; ++var2) {
  104.             System.out.println("Parameter #" + (var2 + 1) + ": " + var1[var2][0] + ", " + var1[var2][1] + ", " + var1[var2][2]);
  105.          }
  106.       }
  107.  
  108.    }
  109.  
  110.    public void stop() {
  111.       if (this.appletFound) {
  112.          this.applet.stop();
  113.       }
  114.  
  115.    }
  116.  
  117.    public void destroy() {
  118.       if (this.appletFound) {
  119.          this.applet.destroy();
  120.       }
  121.  
  122.    }
  123.  
  124.    public String getAppletInfo() {
  125.       String var1 = "Applet Switcher, version 0.1, by Kathy Walrath";
  126.       Object var2 = null;
  127.       if (this.appletFound) {
  128.          String var3 = this.applet.getAppletInfo();
  129.          if (var3 != null) {
  130.             var1 = var1 + ", running applet: \n" + var3;
  131.          }
  132.       }
  133.  
  134.       return var1;
  135.    }
  136.  
  137.    public String[][] getParameterInfo() {
  138.       int var1 = NUMPARAMETERS;
  139.       int var2 = 0;
  140.       int var3 = 0;
  141.       String[][] var5 = null;
  142.       String[] var6 = new String[]{"appletClass", "name", "the name of a class"};
  143.       String[] var7 = new String[]{"oldPackage", "name", "the old applet's package"};
  144.       String[] var8 = new String[]{"newPackage", "name", "the new applet's package"};
  145.       if (this.appletFound) {
  146.          var5 = this.applet.getParameterInfo();
  147.       }
  148.  
  149.       if (var5 != null) {
  150.          var2 = var5.length;
  151.          var1 += var2;
  152.       }
  153.  
  154.       String[][] var4;
  155.       for(var4 = new String[var1][]; var3 < var2; ++var3) {
  156.          var4[var3] = var5[var3];
  157.       }
  158.  
  159.       var4[var3++] = var6;
  160.       var4[var3++] = var7;
  161.       var4[var3] = var8;
  162.       return var4;
  163.    }
  164.  
  165.    protected boolean oneDotOneIsSupported() {
  166.       try {
  167.          Class var1 = Class.forName("java.awt.AWTEvent");
  168.          if (DEBUG) {
  169.             System.out.println("1.1 class " + var1.getName() + " exists.");
  170.          }
  171.  
  172.          var1 = Class.forName("java.awt.event.ActionEvent");
  173.          if (DEBUG) {
  174.             System.out.println("1.1 class " + var1.getName() + " exists.");
  175.          }
  176.  
  177.          System.out.println("This seems to be a 1.1 browser/viewer!");
  178.          return true;
  179.       } catch (Throwable var2) {
  180.          System.out.println("This browser/viewer doesn't seem to support the 1.1 AWT API.");
  181.          return false;
  182.       }
  183.    }
  184. }
  185.