home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / sun / applet / AppletProps.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  4.9 KB  |  156 lines

  1. package sun.applet;
  2.  
  3. import java.awt.Button;
  4. import java.awt.Choice;
  5. import java.awt.Component;
  6. import java.awt.Container;
  7. import java.awt.Event;
  8. import java.awt.Frame;
  9. import java.awt.GridLayout;
  10. import java.awt.Label;
  11. import java.awt.Panel;
  12. import java.awt.TextField;
  13. import java.awt.Window;
  14. import java.io.FileOutputStream;
  15. import java.io.IOException;
  16. import java.util.Hashtable;
  17. import java.util.Properties;
  18. import sun.net.www.http.HttpClient;
  19.  
  20. class AppletProps extends Frame {
  21.    TextField proxyHost;
  22.    TextField proxyPort;
  23.    Choice networkMode;
  24.    Choice accessMode;
  25.    Choice unsignedMode;
  26.    private static AppletMessageHandler amh = new AppletMessageHandler("appletprops");
  27.  
  28.    AppletProps() {
  29.       ((Frame)this).setTitle(amh.getMessage("title"));
  30.       Panel var1 = new Panel();
  31.       ((Container)var1).setLayout(new GridLayout(0, 2));
  32.       ((Container)var1).add(new Label(amh.getMessage("label.http.server", "Http proxy server:")));
  33.       ((Container)var1).add(this.proxyHost = new TextField());
  34.       ((Container)var1).add(new Label(amh.getMessage("label.http.proxy")));
  35.       ((Container)var1).add(this.proxyPort = new TextField());
  36.       ((Container)var1).add(new Label(amh.getMessage("label.network")));
  37.       ((Container)var1).add(this.networkMode = new Choice());
  38.       this.networkMode.addItem(amh.getMessage("choice.network.item.none"));
  39.       this.networkMode.addItem(amh.getMessage("choice.network.item.applethost"));
  40.       this.networkMode.addItem(amh.getMessage("choice.network.item.unrestricted"));
  41.       ((Container)var1).add(new Label(amh.getMessage("label.class")));
  42.       ((Container)var1).add(this.accessMode = new Choice());
  43.       this.accessMode.addItem(amh.getMessage("choice.class.item.restricted"));
  44.       this.accessMode.addItem(amh.getMessage("choice.class.item.unrestricted"));
  45.       ((Container)var1).add(new Label(amh.getMessage("label.unsignedapplet")));
  46.       ((Container)var1).add(this.unsignedMode = new Choice());
  47.       this.unsignedMode.addItem(amh.getMessage("choice.unsignedapplet.no"));
  48.       this.unsignedMode.addItem(amh.getMessage("choice.unsignedapplet.yes"));
  49.       ((Container)this).add("Center", var1);
  50.       var1 = new Panel();
  51.       ((Container)var1).add(new Button(amh.getMessage("button.apply")));
  52.       ((Container)var1).add(new Button(amh.getMessage("button.reset")));
  53.       ((Container)var1).add(new Button(amh.getMessage("button.cancel")));
  54.       ((Container)this).add("South", var1);
  55.       ((Component)this).move(200, 150);
  56.       ((Window)this).pack();
  57.       this.reset();
  58.    }
  59.  
  60.    void reset() {
  61.       ((AppletSecurity)System.getSecurityManager()).reset();
  62.       switch (((AppletSecurity)System.getSecurityManager()).networkMode) {
  63.          case 1:
  64.             this.networkMode.select(amh.getMessage("choice.network.item.none"));
  65.             break;
  66.          case 2:
  67.          default:
  68.             this.networkMode.select(amh.getMessage("choice.network.item.applethost"));
  69.             break;
  70.          case 3:
  71.             this.networkMode.select(amh.getMessage("choice.network.item.unrestricted"));
  72.       }
  73.  
  74.       if (Boolean.getBoolean("package.restrict.access.sun")) {
  75.          this.accessMode.select(amh.getMessage("choice.class.item.restricted"));
  76.       } else {
  77.          this.accessMode.select(amh.getMessage("choice.class.item.unrestricted"));
  78.       }
  79.  
  80.       if (System.getProperty("http.proxyHost") != null) {
  81.          this.proxyHost.setText(System.getProperty("http.proxyHost"));
  82.          this.proxyPort.setText(System.getProperty("http.proxyPort"));
  83.          HttpClient.proxyPort = Integer.valueOf(System.getProperty("http.proxyPort"));
  84.       } else {
  85.          this.proxyHost.setText("");
  86.          this.proxyPort.setText("");
  87.       }
  88.  
  89.       if (Boolean.getBoolean("appletviewer.security.allowUnsigned")) {
  90.          this.unsignedMode.select(amh.getMessage("choice.unsignedapplet.yes"));
  91.       } else {
  92.          this.unsignedMode.select(amh.getMessage("choice.unsignedapplet.no"));
  93.       }
  94.    }
  95.  
  96.    void apply() {
  97.       Properties var1 = System.getProperties();
  98.       ((Hashtable)var1).put("appletviewer.version", AppletViewer.theVersion);
  99.       if (this.proxyHost.getText().length() > 0) {
  100.          ((Hashtable)var1).put("http.proxyHost", this.proxyHost.getText().trim());
  101.          ((Hashtable)var1).put("http.proxyPort", this.proxyPort.getText().trim());
  102.       } else {
  103.          ((Hashtable)var1).remove("http.proxyHost");
  104.       }
  105.  
  106.       if (amh.getMessage("choice.network.item.none").equals(this.networkMode.getSelectedItem())) {
  107.          ((Hashtable)var1).put("appletviewer.security.mode", "none");
  108.       } else if (amh.getMessage("choice.network.item.unrestricted").equals(this.networkMode.getSelectedItem())) {
  109.          ((Hashtable)var1).put("appletviewer.security.mode", "unrestricted");
  110.       } else {
  111.          ((Hashtable)var1).put("appletviewer.security.mode", "host");
  112.       }
  113.  
  114.       if (amh.getMessage("choice.class.item.restricted").equals(this.accessMode.getSelectedItem())) {
  115.          ((Hashtable)var1).put("package.restrict.access.sun", "true");
  116.          ((Hashtable)var1).put("package.restrict.access.netscape", "true");
  117.       } else {
  118.          ((Hashtable)var1).put("package.restrict.access.sun", "false");
  119.          ((Hashtable)var1).put("package.restrict.access.netscape", "false");
  120.       }
  121.  
  122.       if (amh.getMessage("choice.unsignedapplet.yes").equals(this.unsignedMode.getSelectedItem())) {
  123.          ((Hashtable)var1).put("appletviewer.security.allowUnsigned", "true");
  124.       } else {
  125.          ((Hashtable)var1).put("appletviewer.security.allowUnsigned", "false");
  126.       }
  127.  
  128.       try {
  129.          this.reset();
  130.          FileOutputStream var2 = new FileOutputStream(AppletViewer.theUserPropertiesFile);
  131.          var1.save(var2, "AppletViewer");
  132.          var2.close();
  133.          ((Component)this).hide();
  134.       } catch (IOException var3) {
  135.          System.out.println(amh.getMessage("apply.exception", var3));
  136.          ((Throwable)var3).printStackTrace();
  137.          this.reset();
  138.       }
  139.    }
  140.  
  141.    public boolean action(Event var1, Object var2) {
  142.       if (amh.getMessage("button.apply").equals(var2)) {
  143.          this.apply();
  144.          return true;
  145.       } else if (amh.getMessage("button.reset").equals(var2)) {
  146.          this.reset();
  147.          return true;
  148.       } else if (amh.getMessage("button.cancel").equals(var2)) {
  149.          ((Component)this).hide();
  150.          return true;
  151.       } else {
  152.          return false;
  153.       }
  154.    }
  155. }
  156.