package Frame;
|
import java.awt.BorderLayout;
|
import java.awt.Color;
|
import java.awt.Component;
|
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.JProgressBar;
|
import javax.swing.JScrollPane;
|
import javax.swing.JTable;
|
import javax.swing.JTextField;
|
import javax.swing.table.DefaultTableModel;
|
import javax.swing.table.TableCellRenderer;
|
import javax.swing.table.TableColumn;
|
|
import ColorAndFont.English;
|
import ColorAndFont.NothJPanel;
|
import ColorAndFont.UIColor;
|
import ColorAndFont.buttonTitle;
|
import DataBase.DatabaseManagement;
|
import Method.Serch;
|
import PbuliClass.BuMens;
|
import PbuliClass.Get_history_tags;
|
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 GasHistory 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 delete=null;//ɾ³ý°´Å¥
|
JButtonModel deleteAll=null;//È«²¿É¾³ý°´Å¥
|
JScrollPane gd=null;//¹ö¶¯Ãæ°å
|
JTable table=null;//ÉêÃ÷±í¸ñ
|
Vector rowData=null;
|
DefaultTableModel tableModel=null;//ÉùÃ÷±í¸ñÄ£ÐÍ
|
List list=null;
|
int selectedRow;//±»Ñ¡ÖеÄÐÐ
|
String departMent;//±êÇ©ËùÊôµÄ²¿ÃÅ
|
BuMens bums;
|
JTextField hang=null;
|
Container rq;
|
|
public GasHistory() {//¹¹Ôì·½·¨
|
String title="ÆøÌåÖµ±í";
|
if(Systems.sys().getLanguage().equals("English")) {
|
title="Gas value table";
|
}
|
this.setTitle(title);
|
rq=getContentPane();//»ñÈ¡ÈÝÆ÷
|
bums=new BuMens();
|
rq.setLayout(new BorderLayout());
|
rq.setBackground(Color.white);
|
rq.add(getGd(),BorderLayout.CENTER);
|
rq.add(getNorthPanel(),BorderLayout.NORTH);
|
rq.add(new PageSelect().get_page_mb(),BorderLayout.SOUTH);
|
this.setFrameIcon(new ImageIcon("image/icon/gsahis.png"));//ÉèÖô°Ìåͼ±ê
|
|
}
|
|
/**ÿҳÏÔʾÐÐÊý*/
|
public JTextField getHang() {
|
if(hang==null) {
|
hang=new JTextField(5);
|
hang.setText("200");
|
|
}
|
return hang;
|
|
}
|
|
/**»ñÈ¡Äϲ¿Ãæ°åµÄ·½·¨*/
|
public NothJPanel getNorthPanel() {
|
if(northPanel==null) {
|
northPanel=new NothJPanel();
|
Box topicBox = Box.createHorizontalBox();// ´´½¨Ò»¸öˮƽÏäÈÝÆ÷
|
topicBox.add(getSearchFileld());//Ìí¼ÓËÑË÷Îı¾¿ò
|
topicBox.add(Box.createHorizontalStrut(3));// Ìí¼ÓÒ»¸ö3ÏñËØ¿íµÄˮƽ֧Öù
|
topicBox.add(getSearch());//Ìí¼ÓËÑË÷°´Å¥
|
topicBox.add(Box.createHorizontalStrut(5));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù
|
topicBox.add(getShuaxin());//Ìí¼Óˢа´Å¥
|
topicBox.add(Box.createHorizontalStrut(5));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù
|
topicBox.add(getDelete());//Ìí¼Óɾ³ý°´Å¥
|
topicBox.add(Box.createHorizontalStrut(5));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù
|
topicBox.add(getDeleteAll());//Ìí¼Óɾ³ýÈ«²¿°´Å¥
|
topicBox.add(Box.createHorizontalStrut(5));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù
|
topicBox.add(getOutport());//Ìí¼Óµ¼³ö±í¸ñ°´Å¥
|
topicBox.add(Box.createHorizontalStrut(5));// Ìí¼ÓÒ»¸ö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 getCenterPanel() {
|
if(centerPanel==null) {
|
centerPanel=new JPanel();
|
centerPanel.add(getGd());//Ìí¼Ó¹ö¶¯Ãæ°å
|
centerPanel.setBackground(UIColor.getNorth_color());
|
|
}
|
return centerPanel;
|
}
|
/**»ñÈ¡ËÑË÷Îı¾¿òµÄ·½·¨*/
|
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) {
|
if(getSearchFileld().getText().length()>=1) {
|
String go=getSearchFileld().getText().trim();
|
updateSerch(Serch.so("tb_gas_history", go, "macid", "type", "name"));
|
}
|
}
|
});
|
|
}
|
return search;
|
}
|
|
/**ËÑË÷·½·¨*/
|
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¼¯ºÏ
|
getRowData(list);
|
}
|
}
|
|
/**»ñȡˢа´Å¥µÄ·½·¨*/
|
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 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++){
|
int id=(int)table.getValueAt(selectedRows[i], 0);
|
String deleteSql="DELETE FROM tb_gas_history WHERE id='"+table.getValueAt(selectedRows[i], 0)+"'";
|
DatabaseManagement.update(deleteSql);// ɾ³ý±êÇ©ÐÅÏ¢
|
Get_history_tags.delete_history_gas(id);
|
}
|
//ɾ³ý³É¹¦ÌáʾÐÅÏ¢
|
ShowMessage.delteSuccess(selectedRows.length);
|
updateTable();//ˢбí¸ñ
|
|
}
|
else {
|
ShowMessage.chooseRow("ɾ³ý");
|
}
|
|
}
|
});
|
|
}
|
return delete;
|
}
|
|
|
/**»ñȡȫ²¿É¾³ý°´Å¥µÄ·½·¨*/
|
public JButtonModel getDeleteAll() {
|
if(deleteAll==null){
|
deleteAll=new JButtonModel(buttonTitle.getDeleteall());
|
deleteAll.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
//Ñ¡Ôñ¶Ô»°¿òÈçyes·µ»Ø0£¬NO·µ»Ø1£¬È¡Ïû·µ»Ø2
|
WarningMessage warning=new WarningMessage();
|
warning.setMessage("Ñ¡Ôñɾ³ýÈ«²¿½«»á°Ñ±í¸ñÊý¾ÝÈ«²¿É¾³ýÈ·¶¨Âð£¿");
|
int warn=warning.getwarMss(getCenterPanel());
|
int tagnum=table.getRowCount();//±í¸ñ×ÜÐÐÊý
|
if(tagnum!=0 && warn==0) {
|
String deleteSql="TRUNCATE TABLE tb_gas_history";
|
ShowMessage.deleteAll(DatabaseManagement.update(deleteSql));
|
Get_history_tags.deleteall_history_gas();
|
rq.repaint();
|
}else {
|
updateTable();//ˢбí¸ñ
|
}
|
}
|
});
|
|
}
|
return deleteAll;
|
}
|
|
/**»ñÈ¡µ¼³ö±í¸ñ°´Å¥µÄ·½·¨*/
|
public JButtonModel getOutport() {
|
OutButton.setAddtime("addtime");
|
OutButton.setDataName("tb_gas_history");
|
return new OutButton().get_ouotport_button();
|
|
}
|
|
/**»ñÈ¡¹ö¶¯Ãæ°åµÄ·½·¨*/
|
public JScrollPane getGd() {
|
if(gd==null){
|
gd=new JScrollPane(getTable());
|
gd.getViewport().setBackground(UIColor.getNorth_color());
|
|
}
|
return gd;
|
}
|
/**»ñÈ¡ÈËÔ±±í¸ñµÄ·½·¨*/
|
@SuppressWarnings({ "unchecked", "serial" })
|
public JTable getTable() {
|
|
|
if(table==null) {
|
String[] name1= {"ÐòºÅ","É豸ͨµÀ","°²×°Î»ÖÃ","ÆøÌåÀàÐÍ","X×ø±ê","Y×ø±ê","ÆøÌåŨ¶ÈÖµ","¸æ¾¯×´Ì¬","Ìí¼Óʱ¼ä"};//±í¸ñÁÐÃû
|
String[] name2= {"Serial Number", "Equipment Channel", "Installation Location",
|
"Type", "X Coordinate", "Y Coordinate", "Concentration Value", "Alarm Status", "Time"};//±í¸ñÁÐÃû
|
String[] columnNames=English.columnNames(name1, name2);
|
//Ìí¼Ó±í¸ñÁÐÏòÁ¿
|
Vector<String> columnName=new Vector<>();
|
for(int i=0;i<columnNames.length;i++){
|
columnName.add(columnNames[i]);
|
}
|
//Ìí¼Ó±í¸ñÐÐÏòÁ¿Êý¾Ý
|
|
|
rowData=new Vector();
|
String sql="select * from tb_gas_history limit "+getHang().getText();
|
list = DatabaseManagement.serch(sql);//½«ÁбíÖÐËùÓнá¹û¼¯¸øµ½list¼¯ºÏ
|
Iterator iterator = list.iterator();//´´½¨µü´úÆ÷
|
while (iterator.hasNext()) {//µü´úÆ÷´æÔÚÔªËØ
|
List info = (List) iterator.next();//½«µü´úÆ÷ÀïÃæµÄÔªËØ¸øµ½info¼¯ºÏ
|
Vector<String> row = new Vector<>();
|
for(int i=0;i<info.size();i++) {
|
row.add(String.valueOf(info.get(i)));
|
}
|
rowData.add(row);// Ïò±í¸ñ¶ÔÏóÌí¼ÓÐÐÊý¾Ý
|
}
|
|
greateTables tables=new greateTables();
|
tableModel=new DefaultTableModel(rowData, columnName){
|
// ʵÏÖÈÃÕû¸ö±í¸ñ²»²»ÔÊÐí±»±à¼
|
public boolean isCellEditable(int row,int column){
|
return false;
|
}
|
};
|
|
table=tables.getTable(tableModel);
|
table.getColumnModel().getColumn(2).setPreferredWidth(155);
|
table.getColumnModel().getColumn(8).setPreferredWidth(170);
|
TableColumn column = table.getColumnModel().getColumn(7);// »ñÈ¡±í¸ñµÚ7ÁжÔÏó
|
column.setCellRenderer(new TableCellRenderer() {// ÉèÖõÚ7ÁеÄäÖȾÆ÷
|
public Component getTableCellRendererComponent(
|
JTable table, Object value, boolean isSelected,
|
boolean hasFocus, int row, int column) {
|
JProgressBar bar=new JProgressBar();//´´½¨½ø¶ÈÌõ
|
bar.setBorderPainted(false);//ÊÇ·ñÏÔʾ½ø¶ÈÌõ±ß¿ò
|
bar.setBackground(Color.white);
|
bar.setValue(99);//ÉèÖýø¶ÈÌõµÄÖµ
|
if(value.equals("Õý³£")) {
|
// bar.setStringPainted(true);//ÏÔʾ½ø¶ÈÌõÎı¾
|
bar.setForeground(Color.green);//ÏÔʾ½ø¶ÈÌõµÄÑÕÉ«
|
return bar;// °Ñͼ±ê×÷ΪΪäÖȾ¿Ø¼þ
|
}else {
|
bar.setForeground(Color.red);//ÏÔʾ½ø¶ÈÌõµÄÑÕÉ«
|
}
|
|
if (row % 2 == 0) {
|
bar.setBackground(UIColor.getTable_1());
|
} else {
|
bar.setBackground(UIColor.getTable_2());
|
}
|
|
if(isSelected) {
|
bar.setBackground(Color.yellow);
|
}
|
|
return bar;// °Ñͼ±ê×÷ΪΪäÖȾ¿Ø¼þ
|
|
}
|
});
|
|
}
|
return table;
|
|
}
|
|
/**Ìí¼Ó±í¸ñÐÐÏòÁ¿Êý¾Ý·½·¨*/
|
@SuppressWarnings("unchecked")
|
public void getRowData(List list ) {
|
Iterator iterator = list.iterator();//´´½¨µü´úÆ÷
|
while (iterator.hasNext()) {//µü´úÆ÷´æÔÚÔªËØ
|
List info = (List) iterator.next();//½«µü´úÆ÷ÀïÃæµÄÔªËØ¸øµ½info¼¯ºÏ
|
Vector<String> row = new Vector<>();
|
for(int i=0;i<info.size();i++) {
|
row.add(String.valueOf(info.get(i)));
|
}
|
rowData.add(row);// Ïò±í¸ñ¶ÔÏóÌí¼ÓÐÐÊý¾Ý
|
}
|
|
}
|
|
/**ˢбí¸ñ·½·¨*/
|
public void updateTable() {
|
int tagnum=getTable().getRowCount();//±í¸ñ×ÜÐÐÊý
|
if(tagnum !=0 ) {
|
for (int i = 0; i < tagnum; i++) {//ɾ³ýËùÓÐÐÐ
|
tableModel.removeRow(0);//ɾ³ýËùÓÐÐÐ
|
}
|
list = DatabaseManagement.get_alldate_indatabase("tb_gas_history");
|
getRowData(list);
|
}
|
}
|
|
public class PageSelect {
|
JPanel mb=null;
|
JButtonModel firstPageButton=null;
|
JButtonModel latePageButton=null;
|
JButtonModel nextPageButton=null;
|
JButtonModel lastPageButton=null;
|
String a;
|
String serch;
|
int k;
|
int maxPageNumber;
|
int currentPageNumber = 1;//µ±Ç°Ò³Ãæ
|
int allrows;//Êý¾Ý×ÜÌõÊý
|
JlableModel nowpage;//µ±Ç°Ò³Âë
|
|
|
public JPanel get_page_mb() {
|
mb=new JPanel();
|
mb.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);
|
mb.add(topicBox );
|
return mb;
|
}
|
|
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().trim());
|
serch="select * from tb_gas_history 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_gas_history 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_gas_history 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_gas_history limit "+a+","+k;
|
updateSerch(serch);
|
latePageButton.setEnabled(true);
|
firstPageButton.setEnabled(true);
|
currentPageNumber=getMaxPageNumber();
|
nowpage.setText("µÚ"+currentPageNumber+"Ò³");
|
|
}
|
});
|
|
}
|
return lastPageButton;
|
}
|
|
public int getMaxPageNumber() {
|
allrows=DatabaseManagement.get_alldate_indatabase("tb_gas_history").size();
|
double k=Integer.parseInt(getHang().getText().trim());
|
double j=allrows/k;
|
return maxPageNumber=(int) Math.ceil(j);
|
|
//Math.ceil() º¯Êý·µ»Ø´óÓÚ»òµÈÓÚÒ»¸ö¸ø¶¨Êý×ÖµÄ×îСÕûÊý
|
}
|
|
|
}
|
|
}
|