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<selectedRows.length;i++){
|
String deleteSql="DELETE FROM "+ tb_track + " WHERE id='"+table.getValueAt(selectedRows[i], 0)+"'";
|
DatabaseManagement.update(deleteSql);// ɾ³ý±êÇ©ÐÅÏ¢
|
}
|
//ɾ³ý³É¹¦ÌáʾÐÅÏ¢
|
ShowMessage.delteSuccess(selectedRows.length);
|
updateTable();//ˢбí¸ñ
|
|
}
|
else {
|
ShowMessage.chooseRow(buttonTitle.getDelete());
|
}
|
|
}
|
});
|
|
}
|
return delete;
|
}
|
/**»ñȡȫ²¿É¾³ý°´Å¥µÄ·½·¨*/
|
public JButtonModel getDeleteAll() {
|
if(deleteAll==null){
|
deleteAll=new JButtonModel("ɾ³ýÈ«²¿Êý¾Ý");
|
deleteAll.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
//Ñ¡Ôñ¶Ô»°¿òÈçyes·µ»Ø0£¬NO·µ»Ø1£¬È¡Ïû·µ»Ø2
|
WarningMessage warning=new WarningMessage();
|
warning.setMessage("Ñ¡Ôñɾ³ýÈ«²¿½«»á°Ñ±í¸ñÊý¾ÝÈ«²¿É¾³ýÈ·¶¨Âð£¿");
|
int warn=warning.getwarMss(getNorthPanel());
|
if( warn==0) {
|
About_tb_track.delete_all();
|
ShowMessage.zidingyi("Çå¿ÕËùÓÐÀúÊ·¹ì¼£±í³É¹¦...");
|
rq.repaint();
|
}else {
|
ShowMessage.zidingyi("Çå¿ÕËùÓÐÀúÊ·¹ì¼£±íʧ°Ü...");
|
updateTable();//ˢбí¸ñ
|
}
|
}
|
});
|
|
}
|
return deleteAll;
|
}
|
|
/**»ñÈ¡¹ö¶¯Ãæ°åµÄ·½·¨*/
|
public JScrollPane getGd() {
|
if(gd==null){
|
gd=new JScrollPane(getTable());
|
gd.getViewport().setBackground(UIColor.getNorth_color());
|
|
}
|
return gd;
|
}
|
|
|
/**Ìí¼Ó±í¸ñÐÐÏòÁ¿Êý¾Ý·½·¨*/
|
|
public void getRowData(List list ) {
|
Iterator iterator = list.iterator();//´´½¨µü´úÆ÷
|
while (iterator.hasNext()) {//µü´úÆ÷´æÔÚÔªËØ
|
List info = (List) iterator.next();//½«µü´úÆ÷ÀïÃæµÄÔªËØ¸øµ½list¼¯ºÏ
|
Vector<String> 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<String> columnName=new Vector<>();
|
for(int i=0;i<columnNames.length;i++){
|
columnName.add(columnNames[i]);
|
}
|
|
String sql="select * from "+tb_track+" order by time DESC limit "+hang.getText();
|
list = DatabaseManagement.serch(sql);//½«ÁбíÖÐËùÓнá¹û¼¯¸øµ½list¼¯ºÏ
|
|
greateTables tables=new greateTables();
|
tableModel=new DefaultTableModel(rowData, columnName){
|
// ʵÏÖÈÃÕû¸ö±í¸ñ²»²»ÔÊÐí±»±à¼
|
public boolean isCellEditable(int row,int column){
|
return false;
|
}
|
};
|
|
table=tables.getTable(tableModel);
|
getRowData(list );
|
table.getColumnModel().getColumn(6).setPreferredWidth(174);// ÉèÖõÚ9Áпí
|
|
|
}
|
return table;
|
|
}
|
|
/**ˢбí¸ñ·½·¨*/
|
public void updateTable() {
|
int tagnum=table.getRowCount();//±í¸ñ×ÜÐÐÊý
|
if(tagnum !=0 ) {
|
for (int i = 0; i < tagnum; i++) {//ɾ³ýËùÓÐÐÐ
|
tableModel.removeRow(0);
|
}
|
}
|
|
tb_track="tb_track_"+jcm_datas.getSelectedItem().toString().replace("-", "");
|
|
String sql="select * from "+tb_track+" order by time DESC limit "+hang.getText();
|
list = DatabaseManagement.serch(sql);//½«ÁбíÖÐËùÓнá¹û¼¯¸øµ½list¼¯ºÏ
|
getRowData(list );
|
|
}
|
|
/**ËÑË÷·½·¨*/
|
public void updateSerch(String serch) {
|
int tagnum=getTable().getRowCount();//±í¸ñ×ÜÐÐÊý
|
if(tagnum !=0 ) {
|
for (int i = 0; i < tagnum; i++) {//ɾ³ýËùÓÐÐÐ
|
tableModel.removeRow(0);
|
}
|
}
|
list = DatabaseManagement.serch(serch);//½«ÁбíÖÐËùÓнá¹û¼¯¸øµ½list¼¯ºÏ
|
|
if(list.size()>0) {
|
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;
|
}
|
|
|
}
|