笔记
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;
}
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(JFace)体验之RowLayout布局
- SWT(JFace)体验之GridLayout布局
- swt定时器的实现 .
- SWT关闭窗口弹出询问对话框 .
- SWT之java天气预报 .
- SWT 全接触
- SWT RCP图片显示问题
- 为 SWT Windows桌面程序定制适合分发的 JRE
- Eclipse开发经典教程:SWT布局(一)
- Eclipse开发经典教程:SWT布局(二)
- Eclipse开发经典教程:SWT布局(四)
- Eclipse笔记
- Eclipse笔记
- C++和JAVA
- 向导
- AWT AND SWING
- swt入门
- 关于SWT中线程的问题
- 我的异常网 -异常汇总2009-11-22
- 我的异常网 -异常汇总2009-11-23