advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement

SearchApp


/*
*       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);
    }
}

Back to the SearchApp applet page.

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.

 Microsoft RIA Development Center
 IBM Rational Resource Center
 Destination .NET
XML error: not well-formed (invalid token) at line 33
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

Free VMware Server 2.0 Now Release Candidate
Linux Player Xandros Grabs Storied Rival Linspire
Hey Enterprise: Here Comes the 3G iPhone
MySpace Opens Profile Portability API
Microsoft Jumps Into Virtualization Fray
Eclipse Ganymede Makes It Easier for Devs
Open Source Nokia a Threat to Microsoft, Google?
Salesforce, Google Head for 2nd on Apps
HP Open Sources Unix File System for Linux
Red Hat Opens Its Network to Space

Build a Generic Histogram Generator for SQL Server
Beyond XML and JSON: YAML for Java Developers
Mastering the Windows Mobile Emulators
Avaya AE Services Provide Rapid Telephony Integration with Facebook
Featured Algorithm: Intel Threading Building Blocks: parallel_reduce
Getting Started with Windows Live Admin Center
Eight Key Practices for ASP.NET Deployment
Java ME User Interfaces: Do It with LWUIT!
Talking VPro: Transcript
Bringing Semantic Technology to the Enterprise

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
IBM eBook: Planning a Service Oriented Architecture
IBM eBook: Choosing the Right Architecture--What It Means for You and Your Business
Microsoft Article: Will Hyper-V Make VMware This Decade's Netscape?
Avaya Article: Using Intelligent Presence to Create Smarter Business Applications
Intel Go Parallel Article: Getting Started with TBB on Windows
Microsoft Article: 7.0, Microsoft's Lucky Version?
Avaya Article: How to Feed Data into the Avaya Event Processor
IBM Article: Developing a Software Policy for Your Organization
Microsoft Article: Managing Virtual Machines with Microsoft System Center
Intel Go Parallel Article: Intel Threading Tools and OpenMP
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
HP Video: StorageWorks EVA4400 and Oracle
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Red Gate Download: SQL Toolbelt and free High-Performance SQL Code eBook
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
Silverlight 2 App and Walkthrough: Leverage Silverlight 2 with SQL Server and XML
IBM Article: Enterprise Search--Do You Know What's Out There?
HP Demo: StorageWorks EVA4400
Microsoft Article: The Progress and Promise of Deep Zoom
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES