home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 December / PCO1297.ISO / FilesBBS / FREI / CLS.ARJ / CLS.ZIP / ClientSearch.class (.txt) next >
Encoding:
Java Class File  |  1997-11-03  |  5.0 KB  |  173 lines

  1. import java.applet.Applet;
  2. import java.awt.Button;
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Event;
  7. import java.awt.GridBagConstraints;
  8. import java.awt.GridBagLayout;
  9. import java.awt.Label;
  10. import java.awt.List;
  11. import java.awt.TextField;
  12. import java.io.InputStream;
  13. import java.net.URL;
  14.  
  15. public class ClientSearch extends Applet implements Runnable {
  16.    Thread loader;
  17.    SearchEngine engine;
  18.    SearchEngineResult[] result;
  19.    // $FF: renamed from: t1 java.awt.TextField
  20.    TextField field_0;
  21.    // $FF: renamed from: b1 java.awt.Button
  22.    Button field_1;
  23.    // $FF: renamed from: l1 java.awt.List
  24.    List field_2;
  25.    static final String rawfile = "searchR.dat";
  26.    static final String zipfile = "searchZ.dat";
  27.  
  28.    public String getAppletInfo() {
  29.       return "Name: ClientSearch\r\nAutor: Gerhard Schild\r\n(c)PCONLiNE, Vogel Verlag 1997";
  30.    }
  31.  
  32.    private void add(Component var1, GridBagLayout var2, GridBagConstraints var3) {
  33.       ((Container)this).add(var1);
  34.       var2.setConstraints(var1, (GridBagConstraints)var3.clone());
  35.    }
  36.  
  37.    public void run() {
  38.       boolean var1 = true;
  39.  
  40.       try {
  41.          Class.forName("java.util.zip.InflaterInputStream");
  42.       } catch (Exception var12) {
  43.          var1 = false;
  44.       }
  45.  
  46.       String var2 = var1 ? "searchZ.dat" : "searchR.dat";
  47.  
  48.       try {
  49.          URL var5 = new URL(((Applet)this).getDocumentBase(), var2);
  50.          ((Applet)this).showStatus("Lade " + var5.getFile());
  51.          InputStream var6 = var5.openStream();
  52.          if (var1) {
  53.             this.engine.loadZIP(var6);
  54.          } else {
  55.             this.engine.load(var6);
  56.          }
  57.       } catch (Exception var10) {
  58.          System.err.println("Exception: " + ((Throwable)var10).getMessage());
  59.       } finally {
  60.          ((Applet)this).showStatus("Suchmaschine bereit (" + this.engine.size() + " Eintr├ñge).");
  61.       }
  62.  
  63.       this.field_1.enable();
  64.    }
  65.  
  66.    Color getColor(String var1) {
  67.       String var2 = ((Applet)this).getParameter(var1);
  68.       return var2 == null ? null : new Color(Integer.valueOf(var2, 16));
  69.    }
  70.  
  71.    public void init() {
  72.       Color var1 = this.getColor("bgcolor");
  73.       Color var2 = this.getColor("fgcolor");
  74.       if (var1 != null) {
  75.          ((Component)this).setBackground(var1);
  76.       }
  77.  
  78.       if (var2 != null) {
  79.          ((Component)this).setForeground(var2);
  80.       }
  81.  
  82.       GridBagConstraints var3 = new GridBagConstraints();
  83.       GridBagLayout var4 = new GridBagLayout();
  84.       ((Container)this).setLayout(var4);
  85.       var3.gridx = -1;
  86.       var3.gridy = 0;
  87.       var3.gridwidth = 1;
  88.       var3.gridheight = 1;
  89.       var3.weightx = (double)0.0F;
  90.       var3.fill = 1;
  91.       this.add(new Label("Suchbegriff:", 0), var4, var3);
  92.       var3.weightx = (double)1.0F;
  93.       this.add(this.field_0 = new TextField(""), var4, var3);
  94.       var3.weightx = (double)0.0F;
  95.       this.add(this.field_1 = new Button("Suchen"), var4, var3);
  96.       var3.gridx = 0;
  97.       var3.gridy = 1;
  98.       var3.gridwidth = 3;
  99.       var3.weighty = (double)1.0F;
  100.       this.add(this.field_2 = new List(), var4, var3);
  101.       this.field_0.requestFocus();
  102.       if (var1 != null) {
  103.          this.field_2.setBackground(var1);
  104.       }
  105.  
  106.       if (var2 != null) {
  107.          this.field_2.setForeground(var2);
  108.       }
  109.  
  110.       this.engine = new SearchEngine();
  111.       this.field_1.disable();
  112.    }
  113.  
  114.    public void start() {
  115.       if (this.loader == null) {
  116.          this.loader = new Thread(this);
  117.          this.loader.start();
  118.       }
  119.  
  120.    }
  121.  
  122.    public boolean action(Event var1, Object var2) {
  123.       if (var1.target == this.field_1) {
  124.          this.search();
  125.          return true;
  126.       } else if (var1.target == this.field_0) {
  127.          if (this.field_1.isEnabled()) {
  128.             this.search();
  129.          }
  130.  
  131.          return true;
  132.       } else if (var1.target == this.field_2) {
  133.          this.method_0();
  134.          return true;
  135.       } else {
  136.          return false;
  137.       }
  138.    }
  139.  
  140.    // $FF: renamed from: go () void
  141.    void method_0() {
  142.       String var1 = ((Applet)this).getParameter("base");
  143.       if (var1 == null) {
  144.          var1 = "";
  145.       }
  146.  
  147.       try {
  148.          URL var2 = new URL(var1 + this.result[this.field_2.getSelectedIndex()].document);
  149.          ((Applet)this).showStatus("Verzweige zu " + var2.toString());
  150.          ((Applet)this).getAppletContext().showDocument(var2);
  151.       } catch (Exception var3) {
  152.       }
  153.    }
  154.  
  155.    void search() {
  156.       ((Applet)this).showStatus("Suche...");
  157.       this.field_1.disable();
  158.       this.result = this.engine.lookup(this.field_0.getText().toUpperCase());
  159.       ((Applet)this).showStatus("Treffer: " + this.result.length);
  160.       this.field_2.clear();
  161.       if (this.result.length > 0) {
  162.          for(int var1 = 0; var1 < this.result.length; ++var1) {
  163.             this.field_2.addItem(this.result[var1].getString());
  164.          }
  165.  
  166.          this.field_2.select(0);
  167.          this.field_2.requestFocus();
  168.       }
  169.  
  170.       this.field_1.enable();
  171.    }
  172. }
  173.