home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / applet / AppletProps.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  4.2 KB  |  142 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.security.AccessController;
  15. import java.security.PrivilegedActionException;
  16. import java.util.Hashtable;
  17. import java.util.Properties;
  18. import sun.net.www.http.HttpClient;
  19. import sun.security.action.GetBooleanAction;
  20. import sun.security.action.GetPropertyAction;
  21.  
  22. class AppletProps extends Frame {
  23.    TextField proxyHost;
  24.    TextField proxyPort;
  25.    Choice accessMode;
  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.class")));
  37.       ((Container)var1).add(this.accessMode = new Choice());
  38.       this.accessMode.addItem(amh.getMessage("choice.class.item.restricted"));
  39.       this.accessMode.addItem(amh.getMessage("choice.class.item.unrestricted"));
  40.       ((Container)this).add("Center", var1);
  41.       var1 = new Panel();
  42.       ((Container)var1).add(new Button(amh.getMessage("button.apply")));
  43.       ((Container)var1).add(new Button(amh.getMessage("button.reset")));
  44.       ((Container)var1).add(new Button(amh.getMessage("button.cancel")));
  45.       ((Container)this).add("South", var1);
  46.       ((Component)this).move(200, 150);
  47.       ((Window)this).pack();
  48.       this.reset();
  49.    }
  50.  
  51.    void reset() {
  52.       AppletSecurity var1 = (AppletSecurity)System.getSecurityManager();
  53.       if (var1 != null) {
  54.          var1.reset();
  55.       }
  56.  
  57.       String var2 = (String)AccessController.doPrivileged(new GetPropertyAction("http.proxyHost"));
  58.       String var3 = (String)AccessController.doPrivileged(new GetPropertyAction("http.proxyPort"));
  59.       Boolean var4 = (Boolean)AccessController.doPrivileged(new GetBooleanAction("package.restrict.access.sun"));
  60.       boolean var5 = var4;
  61.       if (var5) {
  62.          this.accessMode.select(amh.getMessage("choice.class.item.restricted"));
  63.       } else {
  64.          this.accessMode.select(amh.getMessage("choice.class.item.unrestricted"));
  65.       }
  66.  
  67.       if (var2 != null) {
  68.          this.proxyHost.setText(var2);
  69.          this.proxyPort.setText(var3);
  70.          HttpClient.proxyPort = Integer.valueOf(var3);
  71.       } else {
  72.          this.proxyHost.setText("");
  73.          this.proxyPort.setText("");
  74.       }
  75.  
  76.    }
  77.  
  78.    void apply() {
  79.       String var1 = this.proxyHost.getText().trim();
  80.       String var2 = this.proxyPort.getText().trim();
  81.       Properties var3 = (Properties)AccessController.doPrivileged(new 1(this));
  82.       if (var1.length() != 0) {
  83.          int var4 = 0;
  84.  
  85.          try {
  86.             var4 = Integer.parseInt(var2);
  87.          } catch (NumberFormatException var7) {
  88.          }
  89.  
  90.          if (var4 <= 0) {
  91.             this.proxyPort.selectAll();
  92.             this.proxyPort.requestFocus();
  93.             (new AppletPropsErrorDialog(this, amh.getMessage("title.invalidproxy"), amh.getMessage("label.invalidproxy"), amh.getMessage("button.ok"))).show();
  94.             return;
  95.          }
  96.  
  97.          ((Hashtable)var3).put("http.proxyHost", var1);
  98.          ((Hashtable)var3).put("http.proxyPort", var2);
  99.       } else {
  100.          ((Hashtable)var3).put("http.proxyHost", "");
  101.       }
  102.  
  103.       if (amh.getMessage("choice.class.item.restricted").equals(this.accessMode.getSelectedItem())) {
  104.          ((Hashtable)var3).put("package.restrict.access.sun", "true");
  105.       } else {
  106.          ((Hashtable)var3).put("package.restrict.access.sun", "false");
  107.       }
  108.  
  109.       try {
  110.          this.reset();
  111.          AccessController.doPrivileged(new 2(this, var3));
  112.          ((Window)this).hide();
  113.       } catch (PrivilegedActionException var6) {
  114.          System.out.println(amh.getMessage("apply.exception", var6.getException()));
  115.          var6.printStackTrace();
  116.          this.reset();
  117.       }
  118.  
  119.    }
  120.  
  121.    public boolean action(Event var1, Object var2) {
  122.       if (amh.getMessage("button.apply").equals(var2)) {
  123.          this.apply();
  124.          return true;
  125.       } else if (amh.getMessage("button.reset").equals(var2)) {
  126.          this.reset();
  127.          return true;
  128.       } else if (amh.getMessage("button.cancel").equals(var2)) {
  129.          this.reset();
  130.          ((Window)this).hide();
  131.          return true;
  132.       } else {
  133.          return false;
  134.       }
  135.    }
  136.  
  137.    // $FF: synthetic method
  138.    static AppletMessageHandler access$000() {
  139.       return amh;
  140.    }
  141. }
  142.