package Frame; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Iterator; import java.util.List; import java.util.Vector; import javax.swing.Box; import javax.swing.ImageIcon; import javax.swing.JInternalFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; import BaoWen.Dell_Baowen; import ColorAndFont.English; import ColorAndFont.NothJPanel; import ColorAndFont.UIColor; import DataBase.DatabaseManagement; import Method.GetNowTime; import PbuliClass.JButtonModel; import PbuliClass.JCheckBoxModel; import PbuliClass.JlableModel; import PbuliClass.ShowMessage; import PbuliClass.Systems; import PbuliClass.WarningMessage; import PbuliClass.greateTables; import PbuliClass.jinternalFrame; import tbDataModel.YuanShiBaoWen; import tbDataModel_Dell.DellYuanshibaowen; import tbDataModel_Dell.Dell_Tbicon; @SuppressWarnings("rawtypes") public class BaoWenHuiFang extends jinternalFrame implements Runnable { /** * */ private static final long serialVersionUID = 1L; jinternalFrame jinerFrame=null; JInternalFrame jinFrame=null; JButtonModel deleteicon=null; static JButtonModel jbt_tip=null; JlableModel iconName=null;//ͼ±êÃû³Æ JButtonModel jbt_jiazai=null;//±¨ÎļÓÔØ JButtonModel jbt_hf=null;//±¨ÎĻطŠJButtonModel shua_xin=null;//ˢбêÇ© JCheckBoxModel jc_fast=null; JScrollPane gdmb=null;//¹ö¶¯Ãæ°å static JTextField jt_start=new JTextField(5); static JTextField jt_stop=new JTextField(5); static Vector> serchrowData=null;//ËÑË÷Ò³±í¸ñÏòÁ¿ DefaultTableModel tableModel=null; Vector columnName=null; JTable table=null;//ÉêÃ÷±í¸ñ Vector rowData=null; List list=null ; JPanel centerPanel=null;//Öв¿Ãæ°å NothJPanel southJpan=null;//Äϲ¿Ãæ°å JButtonModel button=null; String fileName="";//Îı¾¿òÄÚÈÝ String path;//ͼ±ê±£´æµØÖ· String path2;//ͼ±ê±£´æµØÖ· Container rq; static boolean huifangbaowen=false; int baowennum=0; int i=0; String jizhuntime;//Æðʼʱ¼ä int j=1;//¼ÓÔØÍêµÄ±¨ÎÄÌõÊý int baowenallnum=0;//±¨ÎĵÄ×ÜÌõÊý static String statrtime="0"; static String stoptime="0"; JlableModel jl_start=new JlableModel("¿ªÊ¼ÐòºÅ:"); JlableModel jl_stop=new JlableModel("½áÊøÐòºÅ:"); JlableModel jl_txt=new JlableModel("txt¼ÓÔØËÙ¶È(ms):"); public BaoWenHuiFang() { rowData=new Vector(); String title="±¨ÎĻطÅ"; if(Systems.sys().getLanguage().equals("English")) { title="Message playback"; } this.setTitle(title); rq=getContentPane();//»ñÈ¡ÈÝÆ÷ rq.setLayout(new BorderLayout()); rq.setBackground(UIColor.getNorth_color()); rq.add(getSouthJpan(),BorderLayout.NORTH); rq.add(getGdmb()); this.setFrameIcon(new ImageIcon("image/icon/save.png"));//ÉèÖô°Ìåͼ±ê } public JScrollPane getGdmb() {//»ñµÃ¹ö¶¯Ãæ°å if(gdmb==null) { gdmb=new JScrollPane(getTable());//¹ö¶¯Ãæ°å } return gdmb; } public JTable getTable() {//»ñÈ¡table if(table==null) { String[] name1= {"ÐòºÅ","ip","ÄÚÈÝ","ʱ¼ä"};//±í¸ñÁÐÃû String[] name2= {"Serial Number","ip","Content","Time"};//±í¸ñÁÐÃû String[] columnNames=English.columnNames(name1, name2); //Ìí¼Ó±í¸ñÁÐÏòÁ¿ columnName=new Vector<>(); for(int i=0;i(); String sql="select * from tb_yuan_shi_bao_wen order by id DESC limit 1000"; list = DatabaseManagement.serch(sql);//½«ÁбíÖÐËùÓнá¹û¼¯¸øµ½list¼¯ºÏ getRowData(list); greateTables tables=new greateTables(); tableModel=new DefaultTableModel(rowData, columnName){ /** * */ private static final long serialVersionUID = 1L; // ʵÏÖÈÃÕû¸ö±í¸ñ²»²»ÔÊÐí±»±à¼­ public boolean isCellEditable(int row,int column){ return false; } }; table=tables.getTable(tableModel); table.getColumnModel().getColumn(0).setPreferredWidth(90); } return table; } public JButtonModel getDeleteicon() {//»ñȡɾ³ý°´Å¥ if(deleteicon==null) { deleteicon=new JButtonModel("ȫɾ"); deleteicon.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //Ñ¡Ôñ¶Ô»°¿òÈçyes·µ»Ø0£¬NO·µ»Ø1£¬È¡Ïû·µ»Ø2 WarningMessage warning=new WarningMessage(); warning.setMessage("Ñ¡Ôñɾ³ýÈ«²¿½«»á°Ñ±í¸ñÊý¾ÝÈ«²¿É¾³ýÈ·¶¨Âð£¿"); int warn=warning.getwarMss(getSouthJpan()); int tagnum=table.getRowCount();//±í¸ñ×ÜÐÐÊý if(tagnum!=0 && warn==0) { String deleteSql="TRUNCATE TABLE tb_yuan_shi_bao_wen "; ShowMessage.deleteAll(DatabaseManagement.update(deleteSql)); Dell_Tbicon.delete_all_tbicon(); rq.repaint(); } } }); } return deleteicon; } public NothJPanel getSouthJpan() {//»ñÈ¡Äϲ¿Ãæ°å if(southJpan==null) { southJpan=new NothJPanel(); Box topicBox = Box.createHorizontalBox();// ´´½¨Ò»¸öˮƽÏäÈÝÆ÷ topicBox.add( getJc_fast()); topicBox.add(Box.createHorizontalStrut(10));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(get_shua_xin());//ÉÏ´«Í¼±ê°´Å¥Ìí¼Ó topicBox.add(Box.createHorizontalStrut(10));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(getDeleteicon()); topicBox.add(Box.createHorizontalStrut(10));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(getJbt_jiazai()); topicBox.add(Box.createHorizontalStrut(10));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(getJbt_hf()); topicBox.add(Box.createHorizontalStrut(10));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(getJbt_tip()); topicBox.add(Box.createHorizontalStrut(10));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(jl_start ); topicBox.add(Box.createHorizontalStrut(2));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(jt_start); topicBox.add(Box.createHorizontalStrut(10));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(jl_stop ); topicBox.add(Box.createHorizontalStrut(2));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(jt_stop); topicBox.add(Box.createHorizontalStrut(10)); southJpan.add(topicBox ); } return southJpan; } /**ˢбí¸ñ·½·¨*/ public void updateTable() { int tagnum=getTable().getRowCount();//±í¸ñ×ÜÐÐÊý if(tagnum !=0 ) { for (int i = 0; i < tagnum; i++) {//ɾ³ýËùÓÐÐÐ tableModel.removeRow(0); } String sql="select * from tb_yuan_shi_bao_wen order by id DESC limit 200"; list = DatabaseManagement.serch(sql);//½«ÁбíÖÐËùÓнá¹û¼¯¸øµ½list¼¯ºÏ getRowData(list); } } /**Ìí¼Ó±í¸ñÐÐÏòÁ¿Êý¾Ý·½·¨*/ @SuppressWarnings("unchecked") public void getRowData(List list ) { Iterator iterator = list.iterator();//´´½¨µü´úÆ÷ while (iterator.hasNext()) {//µü´úÆ÷´æÔÚÔªËØ List info = (List) iterator.next();//½«µü´úÆ÷ÀïÃæµÄÔªËØ¸øµ½list¼¯ºÏ Vector rowV = new Vector(); rowV.add((String)info.get(0)); rowV.add((String)info.get(1)); rowV.add((String)info.get(2)); rowV.add((String)info.get(3)); rowData.add(rowV);// Ïò±í¸ñ¶ÔÏóÌí¼ÓÐÐÊý¾Ý } } public JButtonModel get_shua_xin() { if(shua_xin==null) { shua_xin=new JButtonModel("Ë¢ ÐÂ"); shua_xin.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateTable(); } }); } return shua_xin; } public JButtonModel getJbt_jiazai() { if(jbt_jiazai==null) { jbt_jiazai=new JButtonModel("¼ÓÔØ±¨ÎÄ"); jbt_jiazai.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(huifangbaowen) { ShowMessage.zidingyi("±¨ÎĻطÅÖÐÇëÏÈÔÝÍ£»Ø·Å..."); return; } //Ê×ÏÈÇå¿Õԭʼ±¨Îĵļ¯ºÏ DellYuanshibaowen.clear(); jbt_tip.setVisible(true); DellYuanshibaowen.get_ysbw(); baowenallnum=DellYuanshibaowen.getVcysbw().size(); BaoWenHuiFang.getJbt_tip().setText(" ¼ÓÔØÁË"+baowenallnum+"Ìõ "); j=1; } }); } return jbt_jiazai; } public JButtonModel getJbt_hf() { if(jbt_hf==null) { jbt_hf=new JButtonModel("¿ªÊ¼»Ø·Å"); jbt_hf.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(huifangbaowen) { jbt_hf.setBackground(Color.gray); huifangbaowen=false; jbt_hf.setText(" ¿ªÊ¼»Ø·Å "); }else { if(DellYuanshibaowen.getVcysbw() ==null) { ShowMessage.zidingyi("±¨ÎÄûÓмÓÔØ£¡"); return; }else { if(DellYuanshibaowen.getVcysbw().size()==0) { ShowMessage.zidingyi("±¨ÎÄÌõÊýΪ0£¬Çë¼ÓÔØ±¨ÎÄ"); return; } jbt_hf.setBackground(Color.blue); baowennum=DellYuanshibaowen.getVcysbw().size(); jizhuntime=DellYuanshibaowen.getVcysbw().get(0).getTime(); startThread(); huifangbaowen=true; jbt_hf.setText(" ÔÝÍ£»Ø·Å "); } } } }); } return jbt_hf; } /**Æô¶¯Ï̵߳ķ½·¨*/ public void startThread() { Thread t=new Thread(this); t.start(); } public void run() { while(DellYuanshibaowen.getVcysbw().size()>0 && huifangbaowen) { try { if(huifangbaowen) { huifang(); if(i<0) { i=0; } if(i>10000) { i=0; } Thread.sleep(i);//ÐÝÃßʱ¼ä } } catch (InterruptedException e) { e.printStackTrace(); } } } /**±¨ÎĻطÅ*/ @SuppressWarnings("unused") public void huifang() { //¼ÓÔØµÚÒ»Ìõ±¨ÎÄ YuanShiBaoWen ysbw=DellYuanshibaowen.getVcysbw().get(0); //½«±¨Îĸøµ½´¦Àí·½·¨ //½ÓÊÕ°ü±¨ÎĵÄʱ¼ä String time=ysbw.getTime(); int port=ysbw.getPort(); int inttime=GetNowTime.timestamp(time); //²åÈëԭʼÊý¾Ý½øÈëԭʼÊý¾Ý¼¯ºÏ Dell_Baowen.intsert(ysbw.getIp(),ysbw.getHex(),time,port); //¸ÃÌõ±¨ÎĺÍÏÂÒ»Ìõ±¨Îļä¸ôʱ¼ä i=ysbw.getJiange(); if(jc_fast.isSelected()) { i=0; } //ɾ³ýµôÒѾ­´¦ÀíµÄ±¨ÎÄ DellYuanshibaowen.getVcysbw().removeElement(ysbw); //ÐÞ¸ÄÒѾ­¼ÓÔØµÄ±¨ÎÄÌõÊý if(j==baowenallnum) { jbt_tip.setText(" "+j+"Ìõ»Ø·ÅÍê±Ï "); jbt_hf.doClick(); }else { jbt_tip.setText(" »Ø·ÅµÚ"+j+"Ìõ "); } j++; } public static JButtonModel getJbt_tip() { if(jbt_tip==null) { jbt_tip=new JButtonModel(""); jbt_tip.setVisible(false); } return jbt_tip; } public static boolean isHuifangbaowen() { return huifangbaowen; } public static String getStatrtime() { return statrtime=jt_start.getText(); } public static String getStoptime() { return stoptime=jt_stop.getText(); } public JCheckBoxModel getJc_fast() { if(jc_fast==null) { jc_fast=new JCheckBoxModel("¼±ËٻطÅ","0"); jc_fast.setBackground(null); } return jc_fast; } }