system.exit or destroy if applet or app
[jalview.git] / src / jalview / bin / Jalview.java
index b1af249..f23bcc9 100755 (executable)
@@ -11,17 +11,64 @@ package jalview.bin;
 \r
 import jalview.gui.*;\r
 import javax.swing.*;\r
+import java.awt.event.*;\r
+import java.applet.Applet;\r
 \r
-public class Jalview\r
+public class Jalview extends JApplet\r
 {\r
+  public static JApplet applet;\r
+  Desktop frame;\r
+  public void init()\r
+  {\r
+    applet = this;\r
+\r
+    frame = new Desktop();\r
+    frame.setResizable(true);\r
+    frame.setVisible(true);\r
+    frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);\r
+    frame.addWindowListener(new WindowAdapter()\r
+    {\r
+      public void windowClosing(WindowEvent e)\r
+      {\r
+          applet.stop();\r
+          applet.destroy();\r
+      }\r
+    });\r
+\r
+    String file = getParameter("alignment");\r
+\r
+    if(file!=null)\r
+    {\r
+      jalview.bin.Cache.LAST_DIRECTORY = file;\r
+      String protocol = "File";\r
+      if (file.indexOf("http:") > -1)\r
+        protocol = "URL";\r
+\r
+      String format = jalview.io.IdentifyFile.Identify(file, protocol);\r
+\r
+      frame.LoadFile(file, protocol, format);\r
+    }\r
+  }\r
+\r
+  public void destroy()\r
+  {\r
+    if(applet!=null)\r
+      applet.stop();\r
+    else\r
+      System.exit(0);\r
+    frame.setVisible(false);\r
+  }\r
 \r
    public static void main(String[] args) {\r
      try{\r
-       UIManager.setLookAndFeel //("javax.swing.plaf.metal.MetalLookAndFeel");\r
-           ( UIManager.getCrossPlatformLookAndFeelClassName() );\r
-\r
-       //   ("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");\r
-      // ("com.sun.java.swing.plaf.motif.MotifLookAndFeel" );\r
+       UIManager.setLookAndFeel(\r
+   //   "javax.swing.plaf.metal.MetalLookAndFeel"\r
+    //  "javax.swing.plaf.multi.MultiLookAndFeel"\r
+         UIManager.getCrossPlatformLookAndFeelClassName()\r
+       // "com.sun.java.swing.plaf.gtk.GTKLookAndFeel"\r
+       //   "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"\r
+       //  "com.sun.java.swing.plaf.motif.MotifLookAndFeel"\r
+     );\r
      }\r
      catch (Exception ex)\r
      {}\r