⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crawlerframe.java

📁 Grid based Search Engine
💻 JAVA
字号:


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;



public class CrawlerFrame extends JFrame {
  JPanel contentPane;
  static JTextField jTextFieldUrlAddress = new JTextField();
  JLabel jLabelUrlAddress = new JLabel();
  static JTextField textStatus = new JTextField();
  JLabel jLabelStatus = new JLabel();
  JPanel jPanelURL = new JPanel();
  TitledBorder titledBorder1;
  JLabel jLabel2 = new JLabel();
  static List jListURL = new List();
  static JButton jButtonRun = new JButton();
  static JButton jButtonStop = new JButton();

  Crawler cl;
  static Thread clThread;
  static JLabel labelStatus1 = new JLabel();
  JButton jButtonClose = new JButton();

  /**Construct the frame*/
  public CrawlerFrame() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  /**Component initialization*/
    private void jbInit() throws Exception  {
    titledBorder1 = new TitledBorder("");
    jTextFieldUrlAddress.setBorder(BorderFactory.createLoweredBevelBorder());
    jTextFieldUrlAddress.setBounds(new Rectangle(108, 39, 229, 19));
    //setIconImage(Toolkit.getDefaultToolkit().createImage(CrawlerFrame.class.getResource("[Your Icon]")));
    contentPane = (JPanel) this.getContentPane();
    contentPane.setLayout(null);
    this.setResizable(false);
    this.setSize(new Dimension(400, 300));
    this.setTitle("CRAWLER");
    jLabelUrlAddress.setOpaque(true);
    jLabelUrlAddress.setHorizontalAlignment(SwingConstants.RIGHT);
    jLabelUrlAddress.setText("Starting URL    ");
    jLabelUrlAddress.setBounds(new Rectangle(13, 37, 96, 25));
    jLabelUrlAddress.setBackground(new java.awt.Color(204, 204, 255));
    textStatus.setBorder(BorderFactory.createLoweredBevelBorder());
    textStatus.setBounds(new Rectangle(109, 73, 227, 21));
    jLabelStatus.setHorizontalAlignment(SwingConstants.RIGHT);
    jLabelStatus.setText("Status   ");
    jLabelStatus.setBounds(new Rectangle(23, 75, 79, 21));
    jLabelStatus.setBackground(new java.awt.Color(204, 204, 255));
    jPanelURL.setBorder(titledBorder1);
    jPanelURL.setBounds(new Rectangle(11, 138, 368, 119));
    jPanelURL.setLayout(null);
    jPanelURL.setBackground(new java.awt.Color(204, 204, 255));
    jLabel2.setText("Processing URLs");
    jLabel2.setBounds(new Rectangle(9, 114, 140, 20));
    jLabel2.setBackground(new java.awt.Color(204, 204, 255));
    jListURL.setBounds(new Rectangle(15, 14, 337, 91));
    //jListURL.setBackground(new java.awt.Color(204, 204, 255));
    jButtonRun.setBorder(BorderFactory.createEtchedBorder());
    jButtonRun.setMargin(new Insets(10, 14, 10, 14));
    jButtonRun.setMnemonic('0');
    jButtonRun.setText("Run");
    jButtonRun.setBounds(new Rectangle(84, 267, 77, 25));
    jButtonRun.setBackground(new java.awt.Color(204, 204, 255));
    jButtonRun.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jButtonRun_actionPerformed(e);
      }
    });
    jButtonStop.setBorder(BorderFactory.createEtchedBorder());
    jButtonStop.setText("Stop");
    jButtonStop.setBounds(new Rectangle(168, 266, 80, 26));
    jButtonStop.setBackground(new java.awt.Color(204, 204, 255));
    jButtonStop.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jButtonStop_actionPerformed(e);
      }
    });
    labelStatus1.setOpaque(true);
    labelStatus1.setHorizontalAlignment(SwingConstants.CENTER);
    labelStatus1.setHorizontalTextPosition(SwingConstants.CENTER);
    labelStatus1.setBounds(new Rectangle(109, 13, 230, 20));
    labelStatus1.setBackground(new java.awt.Color(204, 204, 255));
    jButtonClose.setBorder(BorderFactory.createEtchedBorder());
    jButtonClose.setText("Close");
    jButtonClose.setBounds(new Rectangle(254, 265, 78, 26));
    jButtonClose.setBackground(new java.awt.Color(204, 204, 255));
    jButtonClose.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jButtonClose_actionPerformed(e);
      }
    });
    contentPane.setBackground(new java.awt.Color(204, 204, 255));
    contentPane.add(jLabelUrlAddress, null);
    contentPane.add(jLabelStatus, null);
    contentPane.add(jPanelURL, null);
    jPanelURL.add(jListURL, null);
    contentPane.add(jLabel2, null);
    contentPane.add(jButtonRun, null);
    contentPane.add(jTextFieldUrlAddress, null);
    contentPane.add(textStatus, null);
    contentPane.add(labelStatus1, null);
    contentPane.add(jButtonStop, null);
    contentPane.add(jButtonClose, null);
    setSize(400,330);
  }
  /**Overridden so we can exit when window is closed*/
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      FrameMain.jMenuItemStop.setEnabled(false);
      FrameMain.jMenuItemRun.setEnabled(true);
      dispose();
    }
  }

  void jButtonRun_actionPerformed(ActionEvent e) {
  //Crawler.fileCounter=1;
  
  jButtonRun.setEnabled(false);
  jButtonStop.setEnabled(true);
  cl=new Crawler();
  clThread=new Thread(cl);
  if (clThread == null) {
		clThread = new Thread(cl);
	    }
  clThread.start();
  cl.setStatus("searching...");

  }

  void jButtonStop_actionPerformed(ActionEvent e) {
  	jListURL.removeAll();
  if (clThread != null) {
  		//Crawler.fileCounter=1;
	    Crawler.setStatus("stopping...");
            jButtonRun.setEnabled(true);
            jButtonStop.setEnabled(false);
	    clThread = null;
	}
 // clThread.stop();
  }

  void jButtonClose_actionPerformed(ActionEvent e) {
  //Crawler.fileCounter=1;
  jListURL.removeAll();
  jTextFieldUrlAddress.setText("");
  Crawler.setStatus("");
  FrameMain.jMenuItemRun.setEnabled(true);
   FrameMain.jMenuItemStop.setEnabled(false);
this.dispose();
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -