程序代码:
import java.applet.Applet;
import java.net.*;
import java.awt.*;
public class searchengine extends Applet
{
TextField keyword = new TextField(30); // 定义搜索的关键字
Choice EngineName; // 使用的搜索引擎列表,使用下拉框
Button go = new Button("开始搜索");
public void init()
{
setBackground(Color.white); // 设置背景为白色以便配合网页色彩
keyword = new TextField(20);
EngineName = new Choice();
EngineName.addItem("中文雅虎");
EngineName.addItem("搜狐");
EngineName.addItem("新浪");
EngineName.addItem("网易");
EngineName.select(0); // 设置缺省显示的项目为 "中文雅虎"
add(keyword);
add(EngineName);
add(go);
}
public boolean action(Event e, Object obj)
{
if(e.target.equals(go))
{
try
{ goSearch(); }
catch (Exception e1)
{ showStatus("搜索时发生异常:" + e1.toString()); }
}
return true;
}
public void goSearch() throws Exception
{
String str = keyword.getText();
if(str.equals(""))
{
showStatus("请填写搜索的关键字!");
return;
}
String url = "";
switch (EngineName.getSelectedIndex())
{
case 0 :
url = "http://cn.search.yahoo.com/search/cn?p=";
break;
case 1 :
url = "http://site.search.sohu.com/sitesearch.jsp?key_word=";
break;
case 2 :
url = "http://http://search.sina.com.cn/cgi-bin/search/search.cgi? _searchkey=";
break;
case 3 :
url = "http://nisearch.163.com/Search?q=";
}
url += URLEncoder.encode(str); // 将关键字编码成URL格式的,就是例如空格编码为 20%
showStatus("正在连接搜索引擎" + url);
getAppletContext().showDocument(new URL(url), "_black");// 在新窗口打开搜索结果
showStatus("搜索完成");
}
}