home *** CD-ROM | disk | FTP | other *** search
- import java.awt.BorderLayout;
- import java.awt.Button;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Event;
- import java.awt.FlowLayout;
- import java.awt.List;
- import java.awt.Panel;
- import java.awt.TextField;
- import java.util.Vector;
-
- public class search_panel extends Panel {
- List search_list_box;
- Button search_button;
- TextField search_field;
- Vector web_list;
- Vector current_list;
- Sitemapper parent_applet;
- Vector temp_list;
-
- void search_for_text() {
- String search_text = this.search_field.getText().toLowerCase();
- this.search_list_box.delItems(0, this.search_list_box.countItems() - 1);
- this.current_list.removeAllElements();
-
- for(int i = 0; i < this.web_list.size(); ++i) {
- tree_entry entry = (tree_entry)this.web_list.elementAt(i);
- if (entry.publish && entry.get_name().toLowerCase().indexOf(search_text) != -1) {
- this.search_list_box.addItem(entry.get_name());
- this.current_list.addElement(entry);
- }
- }
-
- }
-
- public boolean handleEvent(Event evt) {
- switch (evt.id) {
- case 701:
- int index = this.search_list_box.getSelectedIndex();
- tree_entry entry = (tree_entry)this.current_list.elementAt(index);
- this.parent_applet.show_url(entry.get_url());
- return true;
- case 1001:
- if (evt.target instanceof Button) {
- this.search_for_text();
- return true;
- }
- case 401:
- if (evt.key == 10) {
- this.search_for_text();
- return true;
- }
-
- return false;
- default:
- return false;
- }
- }
-
- search_panel(Vector web_list, Sitemapper parent_applet) {
- this.parent_applet = parent_applet;
- this.web_list = (Vector)web_list.clone();
- this.current_list = new Vector();
- ((Container)this).setLayout(new BorderLayout());
- ((Container)this).add("Center", this.search_list_box = new List());
- Panel input_panel = new Panel();
- ((Container)input_panel).setLayout(new BorderLayout());
- Panel p = new Panel();
- ((Container)input_panel).add("West", p);
- ((Container)p).setLayout(new FlowLayout());
- ((Component)input_panel).setBackground(Color.lightGray);
- ((Container)p).add(this.search_field = new TextField(35));
- ((Container)p).add(this.search_button = new Button("Search"));
- ((Container)this).add("South", input_panel);
- }
- }
-