📄 crawlerframe.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 + -