您的位置:首页 > 其它

笔记

2015-06-25 22:04 169 查看
package bbsFrame;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.TextArea;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JProgressBar;

import javax.swing.JTextField;

public class MainFrame extends JFrame implements ActionListener {

private static final String HOT = “HOT”;

private static final String SECTION = “SECTION”;

private static final String POST = “POST”;

private static final String EFF = “EFFECTIVE”;

private static final String SELECT = “HOSTSELECT”;

private static final String HOSTINFO = “HOSTINFO”;

private static final String HOSTPOST = “HOSTPOST”;

private static final String MODEL = “MODEL”;

private static final String CANCEL = “CANCEL”;

private static final String SAVE = “Save”;

private static final long serialVersionUID = -196950585230726337L;

private JMenuBar myBar;

private JMenu menu;

private JMenu menu1;

private JMenu menu2;

private JMenu menu3;

private JMenu menu4;

private JMenu menu5;

private JMenu menu6;

private JLabel state_lab;

private JLabel Declare_lab;

private JLabel FilePath_lab;

private JTextField FilePath_jf;

public static TextArea state;

public static JProgressBar Schedule_jb;

private JButton hot;

private JButton section;

private JButton postinfo;

private JButton eff;

private JButton select;

private JButton hostinfo;

private JButton hostpost;

private JButton model;

private JButton stop;

private JButton Save;

public static void main(String[] args) {
new MainFrame();
}

public void setBg() {
((JPanel) this.getContentPane()).setOpaque(false);
ImageIcon img = new ImageIcon("bg.jpg");
JLabel background = new JLabel(img);
background.setBounds(0, 0, 960, 600);
this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));

}

private void initComponents() {
setBg();
myBar = new JMenuBar();
setTitle("天涯简易爬虫系统");
setLayout(null);
add(getstate());
// state.setEditable(false);
add(getstate_lab());
add(getFilePath_jf());
add(getFilePath_lab());
add(getSave());
add(getstop());
add(getDeclare_lab());
menu = new JMenu(" || ");
menu1 = new JMenu(" || ");
menu2 = new JMenu(" || ");
menu3 = new JMenu(" || ");
menu4 = new JMenu(" || ");
menu5 = new JMenu(" || ");
menu6 = new JMenu(" || ");
gethot();
getsection();
getpostinfo();
geteff();
getselect();
gethostinfo();
gethostpost();
getmodel();
myBar.add(hot);
myBar.add(menu);
myBar.add(section);
myBar.add(menu5);
myBar.add(postinfo);
myBar.add(menu1);
myBar.add(eff);
myBar.add(menu2);
myBar.add(select);
myBar.add(menu3);
myBar.add(hostinfo);
myBar.add(menu4);
myBar.add(hostpost);
myBar.add(menu6);
myBar.add(model);
setSize(960, 600);
this.setVisible(true);
this.setJMenuBar(myBar);
this.setLocation(150, 80);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
}

private JButton gethot() {
if (hot == null) {
hot = new JButton();
hot.setText("热帖分析");
hot.setActionCommand(HOT);
// stop.setBounds(203, 153, 81, 36);
hot.addActionListener(this);
}
return hot;
}

private JButton getsection() {
if (section == null) {
section = new JButton();
section.setText("版块抓取");
section.setActionCommand(SECTION);
// section.setBounds(203, 153, 81, 36);
section.addActionListener(this);
}
return section;
}

private JButton getpostinfo() {
if (postinfo == null) {
postinfo = new JButton();
postinfo.setText("贴子分析");
postinfo.setActionCommand(POST);
// section.setBounds(203, 153, 81, 36);
postinfo.addActionListener(this);
}
return postinfo;
}

private JButton geteff() {
if (eff == null) {
eff = new JButton();
eff.setText("链接验证");
eff.setActionCommand(EFF);
// eff.setBounds(203, 153, 81, 36);
eff.addActionListener(this);
}
return eff;
}

private JButton getselect() {
if (select == null) {
select = new JButton();
select.setText("用户选取");
select.setActionCommand(SELECT);
// select.setBounds(203, 153, 81, 36);
select.addActionListener(this);
}
return select;
}

private JButton gethostinfo() {
if (hostinfo == null) {
hostinfo = new JButton();
hostinfo.setText("用户抓取");
hostinfo.setActionCommand(HOSTINFO);
// hostinfo.setBounds(203, 153, 81, 36);
hostinfo.addActionListener(this);
}
return hostinfo;
}

private JButton gethostpost() {
if (hostpost == null) {
hostpost = new JButton();
hostpost.setText("舆情预警");
hostpost.setActionCommand(CANCEL);
// hostpost.setBounds(203, 153, 81, 36);
hostpost.addActionListener(this);
}
return hostpost;
}

private JButton getmodel() {
if (model == null) {
model = new JButton();
model.setText("模型分析");
model.setActionCommand(MODEL);
// hostpost.setBounds(203, 153, 81, 36);
model.addActionListener(this);
}
return model;
}

private JTextField getFilePath_jf() {
if (FilePath_jf == null) {
FilePath_jf = new JTextField();
File file = new File("BBS.config");
if(!file.exists())
JOptionPane.showMessageDialog(this, "配置文件不存在,系统采用默认存储路径!");;
String tempString = "E:\\天涯论坛数据";
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));

tempString = reader.readLine();
reader.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

FilePath_jf.setText(tempString);
FilePath_jf.setEditable(false);
FilePath_jf.setBounds(125, 155, 280, 25);
}
return FilePath_jf;
}

private JLabel getFilePath_lab() {
if (FilePath_lab == null) {
FilePath_lab = new JLabel();
FilePath_lab.setText("默认存储路径:");
FilePath_lab.setBounds(120, 120, 100, 20);
}
return FilePath_lab;
}

private JLabel getDeclare_lab() {
if (Declare_lab == null) {
Declare_lab = new JLabel();
Declare_lab
.setText("<html>声明:<br>天涯论坛的网络爬虫纯属个人制作,爬虫版本为V0.0.1<br><hr>爬取请参照<a href=\"http://www.hao123.com/\">说明书</a></html>");
Declare_lab.setBounds(120, 200, 300, 100);
}
return Declare_lab;
}

private JButton getSave() {
if (Save == null) {
Save = new JButton();
Save.setText("设置");
Save.setActionCommand(SAVE);
Save.setBounds(140, 340, 81, 36);
Save.addActionListener(this);
}
return Save;
}

private JButton getstop() {
if (stop == null) {
stop = new JButton();
stop.setText("退出");
stop.setActionCommand(CANCEL);
stop.setBounds(320, 340, 81, 36);
stop.addActionListener(this);
}
return stop;
}

private JLabel getstate_lab() {
if (state_lab == null) {
state_lab = new JLabel();
state_lab.setText("当前状态:");
state_lab.setBounds(580, 40, 100, 20);
}
return state_lab;
}

private TextArea getstate() {
if (state == null) {
state = new TextArea();
state.setText("状态为空...\n");
state.setBounds(600, 80, 300, 400);
}
return state;
}

public MainFrame() {
initComponents();
}

public void actionPerformed(ActionEvent e) {
String action = e.getActionCommand();
System.out.println(action);
if (action != null &&
4000
SAVE.equals(action)) {
JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
fc.setDialogTitle("选择路径");
fc.setMultiSelectionEnabled(false);
int result = fc.showSaveDialog(fc);
if (result == JFileChooser.APPROVE_OPTION)
FilePath_jf.setText(fc.getSelectedFile().getPath());
if (JOptionPane.showConfirmDialog(this, FilePath_jf.getText(),
"是否保存路径?", 0) == 0)
SavePath(FilePath_jf.getText());
// JOptionPane.showMessageDialog(this, "设置文件不存在,系统需重新设置");//
// showConfirmDialog(this, filepath)==0);
} else if (action != null && action.equals(CANCEL)) {
try {
state.append("你选择了退出,1秒后退出!");
Thread.sleep(1000);
System.exit(0);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

} else if (action != null && action.equals(HOT)) {
state.append("你选择了热帖抓取,正在运行!\n");
new HotFrame();
setVisible(false);
} else if (action != null && action.equals(SECTION)) {
state.append("你选择了版块抓取,正在运行!\n");
new SectionFrame();
setVisible(false);
} else if (action != null && action.equals(POST)) {
state.append("你选择了帖子分析,正在运行!\n");
new PostInfoFrame();
setVisible(false);
} else if (action != null && action.equals(EFF)) {
state.append("你选择了链接验证,正在验证!\n");
new EffectiveFrame();
setVisible(false);
} else if (action != null && action.equals(SELECT)) {
if (JOptionPane.showConfirmDialog(this, "用户筛选来自模块帖子,确认此前用过模块抓取。",
"提示", 0) == 0) {
new SelectFrame();
state.append("你选择了抓取用户选取,正在运行!\n");
setVisible(false);
}
} else if (action != null && action.equals(HOSTINFO)) {
state.append("你选择了抓取用户抓取,正在运行!\n");
new HostInfoFrame();
setVisible(false);

} else if (action != null && action.equals(HOSTPOST)) {
state.append("你选择了舆情分析,正在运行!\n");
// new HostPostFrame();
setVisible(false);
} else if (action != null && action.equals(MODEL)) {
state.append("你选择了模型分析模块,正在运行!\n");
new ModelFrame();
setVisible(false);
}
}

public static boolean SavePath(String s) {
File f = new File("BBS.config");
FileWriter fileOut;
try {
fileOut = new FileWriter(f);
fileOut.write(s);
fileOut.close();
state.append("默认路径保存成功!\n");
} catch (IOException e) {
// TODO Auto-generated catch block
System.err.println("Error writing to file BBS.config");
}

return true;
}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swt