📄 spidercontrol.java
字号:
/* * SpiderControl.java * * Created on September 20, 2004, 3:48 PM */import java.awt.*;import javax.swing.*;import javax.swing.tree.*;import java.util.*;import java.net.*;/** * User interface to conduct web searches with the Spider object * @author Mark Pendergast */public class SpiderControl extends javax.swing.JFrame implements VerifierListener{ /** Creates new form SpiderControl */ public SpiderControl() { initComponents(); setSize(650,600); setTitle("Web Spider Demo"); // // center the frame on the screen // Dimension oursize = getSize(); Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize(); int x = (screensize.width - oursize.width)/2; int y = (screensize.height- oursize.height)/2; x = Math.max(0,x); // keep the corner on the screen y = Math.max(0,y); // setLocation(x,y); DefaultMutableTreeNode root = new DefaultMutableTreeNode("Empty"); DefaultTreeModel treeModel = new DefaultTreeModel(root); // create a tree model with a root searchTree.setModel(treeModel); URL iconurl = getClass().getResource("SPIDERWEB.gif"); // capitalization counts on the filename if(iconurl != null) { ImageIcon ic = new ImageIcon(iconurl); setIconImage(ic.getImage()); // tell the frame to set is as its icon } } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ private void initComponents() {//GEN-BEGIN:initComponents toolBar = new javax.swing.JPanel(); startButton = new javax.swing.JButton(); stopButton = new javax.swing.JButton(); clearMessageButton = new javax.swing.JButton(); viewButton = new javax.swing.JButton(); exitButton = new javax.swing.JButton(); centerPane = new javax.swing.JTabbedPane(); formTab = new javax.swing.JPanel(); siteLabel = new javax.swing.JLabel(); siteField = new javax.swing.JTextField(); depthLabel = new javax.swing.JLabel(); depthField = new javax.swing.JTextField(); keywordLabel = new javax.swing.JLabel(); keywordPane = new javax.swing.JScrollPane(); keywordArea = new javax.swing.JTextArea(); domainLabel = new javax.swing.JLabel(); domainPane = new javax.swing.JScrollPane(); domainList = new javax.swing.JList(); startingLabel = new javax.swing.JLabel(); errorLabel = new javax.swing.JLabel(); jTextArea1 = new javax.swing.JTextArea(); startSiteField = new javax.swing.JTextField(); treeTab = new javax.swing.JPanel(); searchTreePane = new javax.swing.JScrollPane(); searchTree = new javax.swing.JTree(); pageStatistics = new javax.swing.JTextArea(); messageTab = new javax.swing.JScrollPane(); messageArea = new javax.swing.JTextArea(); statusLabel = new javax.swing.JLabel(); setBackground(new java.awt.Color(153, 153, 255)); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { exitForm(evt); } }); toolBar.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT)); toolBar.setBackground(new java.awt.Color(204, 204, 204)); startButton.setFont(new java.awt.Font("Arial", 1, 11)); startButton.setText("Start Search"); startButton.setToolTipText("Start the search"); startButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { startButtonActionPerformed(evt); } }); toolBar.add(startButton); stopButton.setFont(new java.awt.Font("Arial", 1, 11)); stopButton.setText("Stop Search"); stopButton.setToolTipText("Stop the search that is in progress"); stopButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { stopButtonActionPerformed(evt); } }); toolBar.add(stopButton); clearMessageButton.setFont(new java.awt.Font("Arial", 1, 11)); clearMessageButton.setText("Clear message area"); clearMessageButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { clearMessageButtonActionPerformed(evt); } }); toolBar.add(clearMessageButton); viewButton.setFont(new java.awt.Font("Arial", 1, 11)); viewButton.setText("View Selected Web Page"); viewButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { viewButtonActionPerformed(evt); } }); toolBar.add(viewButton); exitButton.setFont(new java.awt.Font("Arial", 1, 11)); exitButton.setText("Exit"); exitButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { exitButtonActionPerformed(evt); } }); toolBar.add(exitButton); getContentPane().add(toolBar, java.awt.BorderLayout.NORTH); centerPane.setBorder(new javax.swing.border.EtchedBorder()); formTab.setLayout(null); formTab.setBackground(new java.awt.Color(204, 204, 204)); siteLabel.setText("Maximum number of sites to visit : "); formTab.add(siteLabel); siteLabel.setBounds(20, 30, 250, 15); siteField.setColumns(8); siteField.setText("100"); siteField.setInputVerifier(new IntegerVerifier(this,false,1,10000) ); formTab.add(siteField); siteField.setBounds(260, 30, 70, 21); depthLabel.setText("Maximum search depth : "); formTab.add(depthLabel); depthLabel.setBounds(20, 80, 230, 15); depthField.setColumns(8); depthField.setText("10"); depthField.setInputVerifier(new IntegerVerifier(this,false,1,10000) ); formTab.add(depthField); depthField.setBounds(260, 80, 70, 21); keywordLabel.setText("Keywords or phrases (one to a line) :"); formTab.add(keywordLabel); keywordLabel.setBounds(20, 110, 220, 15); keywordArea.setColumns(20); keywordPane.setViewportView(keywordArea); formTab.add(keywordPane); keywordPane.setBounds(260, 110, 170, 140); domainLabel.setText("Domains to search : "); formTab.add(domainLabel); domainLabel.setBounds(30, 270, 120, 15); domainList.setModel(new javax.swing.AbstractListModel() { String[] strings = { "<any>", ".com", ".edu", ".gov", ".int", ".mil", ".net", ".org", ".us", ".ca" }; public int getSize() { return strings.length; } public Object getElementAt(int i) { return strings[i]; } }); domainList.setSelectedIndex(0); domainPane.setViewportView(domainList); formTab.add(domainPane); domainPane.setBounds(260, 270, 170, 60); startingLabel.setText("Portal (starting site): "); formTab.add(startingLabel); startingLabel.setBounds(30, 340, 120, 15); errorLabel.setForeground(new java.awt.Color(255, 51, 51)); errorLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); errorLabel.setText(" "); formTab.add(errorLabel); errorLabel.setBounds(30, 395, 400, 20); formTab.add(jTextArea1); jTextArea1.setBounds(240, 360, 0, 17); startSiteField.setColumns(80); formTab.add(startSiteField); startSiteField.setBounds(150, 340, 320, 21);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -