package Frame; import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; 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 ColorAndFont.English; import ColorAndFont.NothJPanel; import ColorAndFont.UIColor; import ColorAndFont.buttonTitle; import DataBase.DatabaseManagement; import Method.About_tb_track; import Method.GetNowTime; import Method.JComboBoxModel; import PbuliClass.JButtonModel; import PbuliClass.JlableModel; import PbuliClass.OutButton; import PbuliClass.ShowMessage; import PbuliClass.Systems; import PbuliClass.WarningMessage; import PbuliClass.greateTables; import PbuliClass.jinternalFrame; /**´ËÀàÓÃÓڲ鿴ÿ¸ö±êÇ©µÄÀúʷλÖÃ×ø±ê*/ @SuppressWarnings("rawtypes") public class TrackData extends jinternalFrame { /** * */ private static final long serialVersionUID = 1L; jinternalFrame jinerFrame=null; JInternalFrame jinFrame=null; JPanel innerPanel=null;//ÄÚ²¿´°ÌåÃæ°å NothJPanel northPanel=null;//Äϲ¿Ãæ°å JPanel centerPanel=null;//Öв¿Ãæ°å JButtonModel jbut=null;//°´Å¥Ä£ÐÍ JTextField searchFileld=null;//ËÑË÷Îı¾¿ò JButtonModel search=null;//ËÑË÷°´Å¥ JButtonModel shuaxin=null;//ˢа´Å¥ JButtonModel add=null;//ÐÂÔö°´Å¥ JButtonModel alter=null;//Ð޸İ´Å¥ JButtonModel delete=null;//ɾ³ý°´Å¥ JButtonModel deleteAll=null;//È«²¿É¾³ý°´Å¥ JButtonModel enterPort=null;//µ¼ÈëÈËÔ±°´Å¥ JButtonModel outport=null;//µ¼³ö±í¸ñ°´Å¥ JButtonModel download=null;//Ä£°åÏÂÔØ°´Å¥ JButtonModel drop_table=null;//ɾ³ýÊý¾Ý±í JButtonModel but_daochu=null; JScrollPane gd=null;//¹ö¶¯Ãæ°å JTable table=null;//ÉêÃ÷±í¸ñ Vector rowData=null; DefaultTableModel tableModel=null;//ÉùÃ÷±í¸ñÄ£ÐÍ List list=null; int selectedRow;//±»Ñ¡ÖеÄÐÐ JTextField hang=null; int k; String a; String serch; JButtonModel firstPageButton=null; JButtonModel latePageButton=null; JButtonModel nextPageButton=null; JButtonModel lastPageButton=null; int maxPageNumber; static int currentPageNumber = 1;//µ±Ç°Ò³Ãæ int allrows;//Êý¾Ý×ÜÌõÊý JPanel south=null; JlableModel nowpage;//µ±Ç°Ò³Âë Container rq; String tb_track="tb_track_"+GetNowTime.getyearmd(); //ÈÕÆÚµÄ¼¯ºÏ JComboBoxModel jcm_datas=null; public TrackData() {//¹¹Ôì·½·¨ rowData=new Vector(); String title="ÀúʷλÖÃÊý¾Ý±í"; if(Systems.sys().getLanguage().equals("English")) { title="Historical location data table"; } this.setTitle(title); rq=getContentPane();//»ñÈ¡ÈÝÆ÷ rq.setLayout(new BorderLayout()); rq.setBackground(UIColor.getNorth_color()); rq.add(getNorthPanel(),BorderLayout.NORTH); rq.add(getGd(),BorderLayout.CENTER); rq.add(getSouth(),BorderLayout.SOUTH); this.setFrameIcon(new ImageIcon("image/icon/guijiicon.png"));//ÉèÖô°Ìåͼ±ê } /**»ñÈ¡±±²¿Ãæ°åµÄ·½·¨*/ public NothJPanel getNorthPanel() { if(northPanel==null) { northPanel=new NothJPanel(); Box topicBox = Box.createHorizontalBox();// ´´½¨Ò»¸öˮƽÏäÈÝÆ÷ topicBox.add(getJcm_datas() ); topicBox.add(Box.createHorizontalStrut(3));// Ìí¼ÓÒ»¸ö3ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(getSearch());//Ìí¼ÓËÑË÷°´Å¥ topicBox.add(Box.createHorizontalStrut(10));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(getShuaxin());//Ìí¼Óˢа´Å¥ topicBox.add(Box.createHorizontalStrut(10));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(getDelete());//Ìí¼Óɾ³ý°´Å¥ topicBox.add(Box.createHorizontalStrut(10));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(getDeleteAll());//Ìí¼Óɾ³ýÈ«²¿°´Å¥ getHang() topicBox.add(Box.createHorizontalStrut(10)); topicBox.add(getDrop_table()); topicBox.add(Box.createHorizontalStrut(10));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(getBut_daochu()); topicBox.add(Box.createHorizontalStrut(10));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù JlableModel hangrow= new JlableModel("ÿҳÏÔʾµÄÐÐÊý: "); topicBox.add(hangrow);//Ìí¼Óɾ³ýÈ«²¿°´Å¥ topicBox.add(Box.createHorizontalStrut(5));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(getHang());//Ìí¼Óɾ³ýÈ«²¿°´Å¥ getHang() northPanel.add(topicBox ); } return northPanel; } /**»ñÈ¡Äϲ¿Ãæ°åµÄ·½·¨*/ public JPanel getSouth() { if(south==null) { south=new JPanel(); south.setBackground(UIColor.getNorth_color());//ÉèÖÃÃæ°å±³¾°Îª°×É« Box topicBox = Box.createHorizontalBox();// ´´½¨Ò»¸öˮƽÏäÈÝÆ÷ topicBox.add(getFirstPageButton());//Ìí¼ÓËÑË÷Îı¾¿ò topicBox.add(Box.createHorizontalStrut(15));// Ìí¼ÓÒ»¸ö3ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(getLatePageButton());//Ìí¼ÓËÑË÷°´Å¥ topicBox.add(Box.createHorizontalStrut(15));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(getNextPageButton());//Ìí¼Óˢа´Å¥ topicBox.add(Box.createHorizontalStrut(15));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(getLastPageButton());//Ìí¼Óɾ³ý°´Å¥ nowpage= new JlableModel("µÚ"+currentPageNumber+"Ò³"); topicBox.add(Box.createHorizontalStrut(25));// Ìí¼ÓÒ»¸ö15ÏñËØ¿íµÄˮƽ֧Öù topicBox.add(nowpage); south.add(topicBox ); } return south; } /**»ñÈ¡ËÑË÷Îı¾¿òµÄ·½·¨*/ public JTextField getSearchFileld() { if(searchFileld==null){ searchFileld=new JTextField(10); searchFileld.addKeyListener(new KeyListener() { //¼üÅÌʼþ¼àÌý public void keyTyped(KeyEvent e) { } public void keyReleased(KeyEvent e) { int keyCode=e.getKeyCode(); if(keyCode==KeyEvent.VK_ENTER) { getSearch().doClick();//ËÑË÷°´Å¥±»µã»÷ } } public void keyPressed(KeyEvent e) { } }); } return searchFileld; } /**»ñÈ¡ËÑË÷°´Å¥µÄ·½·¨*/ public JButtonModel getSearch() { if(search==null){ search=new JButtonModel(buttonTitle.getSerch()); search.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // Ö´ÐÐSQL²éѯÓï¾ä»ñµÃµÄ½á¹û¼¯ tb_track="tb_track_"+jcm_datas.getSelectedItem().toString().replace("-", ""); try { serch="select * from "+tb_track+" order by time DESC limit "+hang.getText(); updateSerch(serch); } catch (Exception er) { er.printStackTrace(); } } }); } return search; } /**»ñȡˢа´Å¥µÄ·½·¨*/ public JButtonModel getShuaxin() { if(shuaxin==null){ shuaxin=new JButtonModel(buttonTitle.getRefresh()); shuaxin.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateTable() ; } }); } return shuaxin; } /**»ñÈ¡±í¸ñ±»Ñ¡ÖеÄÐз½·¨*/ public int getSelectedRow() { selectedRow=getTable().getSelectedRow(); return selectedRow; } public int getMaxPageNumber() { allrows=DatabaseManagement.get_alldate_indatabase(tb_track).size(); double k=Integer.parseInt(getHang().getText().trim()); double j=allrows/k; return maxPageNumber=(int) Math.ceil(j); //Math.ceil() º¯Êý·µ»Ø´óÓÚ»òµÈÓÚÒ»¸ö¸ø¶¨Êý×ÖµÄ×îСÕûÊý } /**»ñȡɾ³ý°´Å¥µÄ·½·¨*/ public JButtonModel getDelete() { if(delete==null){ delete=new JButtonModel(buttonTitle.getDelete()); delete.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int[] selectedRows=table.getSelectedRows();//±»Ñ¡ÖÐÐеÄË÷Òý¼¯ºÏ if(selectedRows.length !=0) { for(int i=0;i 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)); rowV.add((String)info.get(4)); rowV.add((String)info.get(5)); rowV.add((String)info.get(6)); tableModel.addRow(rowV); } } /**»ñÈ¡ÀúÊ·¹ì¼£Êý¾Ý±í¸ñµÄ·½·¨*/ @SuppressWarnings("serial") public JTable getTable() { if(table==null) { String[] name1= {"ÐòºÅ","±êÇ©ID","X×ø±ê","Y×ø±ê","Z×ø±ê","²ã","ʱ¼ä"};//±í¸ñÁÐÃû String[] name2= {"Serial Number", "Tag ID", "X", "Y", "Z", "Layer", "Time"};//±í¸ñÁÐÃû String[] columnNames=English.columnNames(name1, name2); //Ìí¼Ó±í¸ñÁÐÏòÁ¿ Vector columnName=new Vector<>(); for(int i=0;i0) { getRowData(list); }else { ShowMessage.zidingyi("µ±Ç°Ñ¡ÔñÈÕÆÚÊý¾ÝΪ"+list.size()+"Ìõ£¡"); } } /**ÿҳÏÔʾÐÐÊý*/ public JTextField getHang() { if(hang==null) { hang=new JTextField(5); hang.setText("200"); } return hang; } public JButtonModel getFirstPageButton() { if(firstPageButton==null) { firstPageButton=new JButtonModel(buttonTitle.getHome()); firstPageButton.setEnabled(false); firstPageButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { currentPageNumber=1; nowpage.setText("µÚ"+currentPageNumber+"Ò³"); lastPageButton.setEnabled(true); nextPageButton.setEnabled(true); k=Integer.parseInt(getHang().getText()); serch="select * from "+tb_track+" limit 0,"+k; updateSerch(serch); currentPageNumber = 1; firstPageButton.setEnabled(false); latePageButton.setEnabled(false); } }); } return firstPageButton; } public JButtonModel getLatePageButton() { if(latePageButton==null) { latePageButton=new JButtonModel(buttonTitle.getPrevious()); latePageButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { lastPageButton.setEnabled(true); latePageButton.setEnabled(true); --currentPageNumber; nowpage.setText("µÚ"+currentPageNumber+"Ò³"); if(currentPageNumber==1) { latePageButton.setEnabled(false); firstPageButton.setEnabled(false); } if(currentPageNumber>=1) { k=Integer.parseInt(getHang().getText().trim()); a=String.valueOf(currentPageNumber*k-k); serch="select * from "+tb_track+" limit "+a+","+k; updateSerch(serch); nextPageButton.setEnabled(true); } } }); } return latePageButton; } public JButtonModel getNextPageButton() { if(nextPageButton==null) { nextPageButton=new JButtonModel(buttonTitle.getNext()); nextPageButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ++currentPageNumber; nowpage.setText("µÚ"+currentPageNumber+"Ò³"); k=Integer.parseInt(getHang().getText().trim()); a=String.valueOf(currentPageNumber*k-k); serch="select * from "+tb_track+" limit "+a+","+k; updateSerch(serch); if(currentPageNumber!=1) { firstPageButton.setEnabled(true); latePageButton.setEnabled(true); } if (currentPageNumber == maxPageNumber) { nextPageButton.setEnabled(false); lastPageButton.setEnabled(false); } } }); } return nextPageButton; } public JButtonModel getLastPageButton() { if(lastPageButton==null) { lastPageButton=new JButtonModel(buttonTitle.getLast()); lastPageButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { nextPageButton.setEnabled(false); lastPageButton.setEnabled(false); k=Integer.parseInt(getHang().getText().trim()); a=String.valueOf(getMaxPageNumber()*k-k); serch="select * from "+tb_track+" limit "+a+","+k; updateSerch(serch); latePageButton.setEnabled(true); firstPageButton.setEnabled(true); currentPageNumber=getMaxPageNumber(); nowpage.setText("µÚ"+currentPageNumber+"Ò³"); } }); } return lastPageButton; } public JButtonModel getBut_daochu() { OutButton.setAddtime("time"); OutButton.setDataName(tb_track); return new OutButton().get_ouotport_button(); } public JComboBoxModel getJcm_datas() { if(jcm_datas==null) { jcm_datas=new JComboBoxModel(About_tb_track.get_tbtrack()); } return jcm_datas; } /**ɾ³ýÊý¾Ý±í*/ public JButtonModel getDrop_table() { if(drop_table==null){ drop_table=new JButtonModel("ɾ³ýÊý¾Ý±í"); drop_table.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //Ñ¡Ôñ¶Ô»°¿òÈçyes·µ»Ø0£¬NO·µ»Ø1£¬È¡Ïû·µ»Ø2 WarningMessage warning=new WarningMessage(); warning.setMessage("Ñ¡Ôñɾ³ý¸ÃÊý¾Ý±íÈ·¶¨Âð£¿"); int warn=warning.getwarMss(getNorthPanel()); String data=(String) jcm_datas.getSelectedItem(); if( warn==0) { About_tb_track.dropt(data); ShowMessage.zidingyi(data+"ɾ³ý³É¹¦..."); }else { ShowMessage.zidingyi(data+"ɾ³ýʧ°Ü..."); } } }); } return drop_table; } }