www.pudn.com > sear.zip > SearchApp.java


/* 
*       The Search applet to search the web for information 
*       Title       : Search Engine 
*       Version : 1.0 
*       Author    : Jayesh R Prajapati 
*       Copyright: 1998 
*/ 
 
package AppSearch; 
 
import java.awt.*; 
import java.awt.event.*; 
import java.applet.*; 
import java.net.*; 
import java.util.*; 
import borland.jbcl.layout.*; 
import borland.jbcl.control.*; 
 
public class SearchApp extends Applet { 
    XYLayout xYLayout1 = new XYLayout(); 
    boolean isStandalone = false; 
    TextField txtSearchField = new TextField();    //txtSearchField 
    Button butSearch = new Button();                                     
//butSearch 
    Choice chEngine = new Choice();                                        
//chEngine 
    URL SearchEngineUrl = null; 
    Label lblTitle = new Label(); 
    BevelPanel bevelPanel1 = new BevelPanel();                                                    
//SearchEngineUrl 
 
    //Construct the applet: 
    public SearchApp() { 
    }//SearchApp 
 
    //Initialize the applet: 
    public void init() { 
          try { jbInit(); } catch (Exception e) { e.printStackTrace(); 
} 
    }//init() 
 
    //Component initialization: 
    public void jbInit() throws Exception{ 
 
          this.setBackground(Color.black); 
          xYLayout1.setWidth(399); 
          xYLayout1.setHeight(125); 
          txtSearchField.setBackground(new Color(77, 255, 255)); 
          butSearch.setFont(new Font("TimesRoman", 0, 14)); 
          butSearch.setLabel("Search.."); 
          butSearch.addActionListener(new SearchApp_butSearch_actionAdapter(this)); 
          chEngine.setBackground(new Color(77, 255, 255)); 
          lblTitle.setForeground(Color.red); 
          lblTitle.setFont(new Font("TimesRoman", 1, 14)); 
          lblTitle.setText("Welcome to Jayesh\'s Search:"); 
          bevelPanel1.setBackground(new Color(163, 255, 162)); 
 
          this.setLayout(xYLayout1); 
          this.add(txtSearchField, new XYConstraints(155, 38, 160, -1)); 
          this.add(butSearch, new XYConstraints(317, 37, 61, 25)); 
          this.add(chEngine, new XYConstraints(17, 40, 129, 32)); 
          this.add(lblTitle, new XYConstraints(3, 11, 392, 21)); 
          this.add(bevelPanel1, new XYConstraints(4, 5, 391, 116)); 
 
          chEngine.addItem("Yahoo"); 
          chEngine.addItem("AltaVista"); 
          chEngine.addItem("Lycos"); 
          chEngine.addItem("WebCrawler"); 
          chEngine.addItem("InfoSeek"); 
          chEngine.addItem("HotBot"); 
 
   }//jbinit() 
 
   //Start the applet 
    public void start() { 
    } 
 
   //Stop the applet 
    public void stop() { 
    } 
 
   //Destroy the applet 
    public void destroy() { 
    } 
 
   //Get Applet information 
    public String getAppletInfo() { 
          return "Applet Information"; 
    } 
 
   //Get parameter info: 
    public String[][] getParameterInfo() { 
          return null; 
    }//meet 
 
   //Main method 
    static public void main(String[] args) { 
          SearchApp applet = new SearchApp(); 
          applet.isStandalone = true; 
          DecoratedFrame frame = new DecoratedFrame(); 
          frame.setTitle("Applet Frame"); 
          frame.add(applet, BorderLayout.CENTER); 
          applet.init(); 
          applet.start(); 
          frame.pack(); 
          Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); 
          frame.setLocation((d.width - frame.getSize().width) / 2, (d.height - frame.getSize().height) / 2); 
          frame.setVisible(true); 
    }//main() 
 
    void butSearch_actionPerformed(ActionEvent e) { 
       String StrUrl = getStringQuery(); 
       System.out.println("Context" + getAppletContext()); 
       System.out.println("URL IS :" + StrUrl); 
       try { 
             SearchEngineUrl = new URL( StrUrl ); 
                }catch ( MalformedURLException ee ) 
{ 
       System.out.println("Cannot Connect to URL" + ee.getMessage()); 
} 
       getAppletContext().showDocument( SearchEngineUrl, "_blank" 
); 
    }//burSearch.. 
 
/** 
------------------------------------------------------------- 
                      INPUT : void 
                      OUTPUT: String which is parsed 
       DESCRIPTION: It takes the query fromm txtSearchField and 
                   inserts the '+' between keywords. 
------------------------------------------------------------- 
*/ 
       String getStringQuery(){ 
       String StrResolved = ""; 
       StringTokenizer strtk = new StringTokenizer(txtSearchField.getText()); 
       while(strtk.hasMoreTokens()){ 
                   if( StrResolved.equals("")){ 
                   StrResolved = strtk.nextToken() 
; 
                   }//if 
                   else{ 
                   StrResolved = StrResolved + "+" + strtk.nextToken() ; 
                   }//else 
       }//while() 
 
       //This is a typing practise so go ahead with it till something 
       // if you want to talk talk on top of your voice. 
       //If i keep on typing like this than there 
    
 
       if(((String)chEngine.getSelectedItem()).equalsIgnoreCase("yahoo")) 
       { 
             StrResolved =    "http://av.yahoo.com/bin/query?" + "p=" + StrResolved; 
       }//yahoo 
       else if(((String)chEngine.getSelectedItem()).equalsIgnoreCase("AltaVista")) 
       { 
          StrResolved = "http://www.altavista.digital.com/cgi-bin/query?" + "q=" + StrResolved; 
       }//altavista 
       else if(((String)chEngine.getSelectedItem()).equalsIgnoreCase("Lycos")) 
       { 
          StrResolved = "http://www.lycos.com/cgi-bin/pursuit?" + "query=" + StrResolved; 
          System.out.println("Strresolved: " +StrResolved 
); 
       }//lycos 
       else if(((String)chEngine.getSelectedItem()).equalsIgnoreCase("WebCrawler")) 
       { 
          StrResolved =    "http://www.webcrawler.com/cgi-bin/WebQuery?" + "searchText=" + StrResolved; 
       }//webcrawler 
       else if(((String)chEngine.getSelectedItem()).equalsIgnoreCase("InfoSeek")) 
          { 
             StrResolved =    "http://www.infoseek.com/Titles?" + "qt=" + StrResolved; 
          }//Infoseek 
       else if(((String)chEngine.getSelectedItem()).equalsIgnoreCase("HotBot")) 
          { 
             StrResolved =    "http://www.search.hotbot.com/hResult.html?" + "MT=" + StrResolved; 
          }//HotBot 
          return StrResolved; 
    }//getStringQuery() 
}//applet 
 
//--------------------------------------------- 
// Event Classes: 
//--------------------------------------------- 
class SearchApp_butSearch_actionAdapter implements java.awt.event.ActionListener 
{ 
    SearchApp adaptee; 
 
    SearchApp_butSearch_actionAdapter(SearchApp adaptee) { 
          this.adaptee = adaptee; 
    } 
 
    public void actionPerformed(ActionEvent e) { 
          adaptee.butSearch_actionPerformed(e); 
    } 
}