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

  1. package sun.applet;
  2.  
  3. import java.awt.Button;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dimension;
  7. import java.awt.Event;
  8. import java.awt.Font;
  9. import java.awt.Frame;
  10. import java.awt.Panel;
  11. import java.awt.TextArea;
  12. import java.awt.TextComponent;
  13. import java.awt.Toolkit;
  14. import java.awt.Window;
  15. import java.io.BufferedReader;
  16. import java.io.CharArrayWriter;
  17. import java.io.File;
  18. import java.io.FileInputStream;
  19. import java.io.FileOutputStream;
  20. import java.io.IOException;
  21. import java.io.InputStreamReader;
  22. import java.util.Hashtable;
  23. import java.util.Locale;
  24. import java.util.Properties;
  25.  
  26. class AppletCopyright extends Frame {
  27.    private static AppletMessageHandler amh = new AppletMessageHandler("appletcopyright");
  28.  
  29.    AppletCopyright() {
  30.       ((Frame)this).setTitle(amh.getMessage("title"));
  31.       Panel var1 = new Panel();
  32.       Dimension var2 = Toolkit.getDefaultToolkit().getScreenSize();
  33.       TextArea var3 = new TextArea(var2.height / 2 / 12, var2.width / 2 / 7);
  34.       ((TextComponent)var3).setEditable(false);
  35.       ((TextComponent)var3).setText(this.load());
  36.       ((Component)var3).setFont(new Font("Serif", 1, 12));
  37.       ((Container)var1).add(new Button(amh.getMessage("button.accept")));
  38.       ((Container)var1).add(new Button(amh.getMessage("button.reject")));
  39.       ((Container)this).add("Center", var3);
  40.       ((Container)this).add("South", var1);
  41.       ((Window)this).pack();
  42.       Dimension var4 = ((Component)this).size();
  43.       Dimension var5 = ((Window)this).getToolkit().getScreenSize();
  44.       ((Component)this).move((var5.width - var4.width) / 2, (var5.height - var4.height) / 2);
  45.       ((Window)this).show();
  46.    }
  47.  
  48.    String load() {
  49.       String var1 = System.getProperty("java.home");
  50.       String var2 = System.getProperty("file.separator");
  51.       String var3 = amh.getMessage("copyrightfile");
  52.       String var4 = Locale.getDefault().getLanguage();
  53.       File var5 = new File(var1 + var2 + var4 + var2 + var3);
  54.       if (!var5.canRead()) {
  55.          var5 = new File(var1 + var2 + var3);
  56.       }
  57.  
  58.       try {
  59.          if (var5.canRead()) {
  60.             String var6 = amh.getMessage("copyrightencoding");
  61.             InputStreamReader var7 = new InputStreamReader(new FileInputStream(var5), var6);
  62.             BufferedReader var8 = new BufferedReader(var7);
  63.             CharArrayWriter var9 = new CharArrayWriter();
  64.             char[] var10 = new char[256];
  65.  
  66.             int var11;
  67.             while((var11 = var8.read(var10, 0, var10.length)) >= 0) {
  68.                var9.write(var10, 0, var11);
  69.             }
  70.  
  71.             var8.close();
  72.             return var9.toString();
  73.          }
  74.       } catch (IOException var12) {
  75.       }
  76.  
  77.       return amh.getMessage("defaultcontent");
  78.    }
  79.  
  80.    public synchronized boolean action(Event var1, Object var2) {
  81.       if (!(var1.target instanceof Button)) {
  82.          return false;
  83.       } else if (amh.getMessage("button.reject").equals(((Button)var1.target).getLabel())) {
  84.          System.exit(1);
  85.          return true;
  86.       } else if (amh.getMessage("button.accept").equals(((Button)var1.target).getLabel())) {
  87.          ((Frame)this).dispose();
  88.          this.notify();
  89.          Properties var3 = System.getProperties();
  90.          ((Hashtable)var3).put("appletviewer.version", AppletViewer.theVersion);
  91.  
  92.          try {
  93.             FileOutputStream var4 = new FileOutputStream(AppletViewer.theUserPropertiesFile);
  94.             var3.save(var4, "AppletViewer");
  95.             var4.close();
  96.          } catch (IOException var5) {
  97.          }
  98.  
  99.          return true;
  100.       } else {
  101.          return false;
  102.       }
  103.    }
  104.  
  105.    public synchronized void waitForUser() {
  106.       try {
  107.          this.wait();
  108.       } catch (InterruptedException var1) {
  109.       }
  110.    }
  111. }
  112.