📄 worning.java
字号:
package warehouse;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.table.*;
import java.util.*;
public class Worning extends JPanel
{
public Worning()
{
this.setLayout(new BorderLayout());
this.setBackground(new Color(187,242,24));
worning.setForeground(Color.red);
worning.setFont(new Font("Serif",Font.BOLD,40));
add(worning,"North");
JPanel centerPanel=new JPanel();
centerPanel.setLayout(new BorderLayout());
centerPanel.setBackground(new Color(187,242,24));
centerPanel.setBorder(BorderFactory.createEtchedBorder());
JPanel innPanel=new JPanel();
innPanel.setBackground(new Color(187,242,24));
innPanel.add(new JButton(above_worningAction));
innPanel.add(new JButton(bellow_worningAction));
centerPanel.add(innPanel,"North");
worning_table=new JTable(model)
{
public boolean isCellEditable(int rowIndex,int columnIndex)
{
return false;
}
};
worning_table.setPreferredScrollableViewportSize(viewsize);
JScrollPane worning_scroll=new JScrollPane(worning_table);
centerPanel.add(worning_scroll,"Center");
add(centerPanel,"Center");
description0.setFont(f);
add(description0,"South");
}
public void connDB()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
JOptionPane.showMessageDialog(null,"数据库加载失败!");
}
try
{
con = DriverManager.getConnection("jdbc:odbc:warehouse");
st = con.createStatement();
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,"数据库连接失败!");
}
}
public void closeDB1()
{
try
{
st.close();
con.close();
}
catch(SQLException e )
{
JOptionPane.showMessageDialog(null,"数据库关闭失败!");
}
}
AbstractAction above_worningAction=new AbstractAction()
{
{
putValue(NAME,"搜索超储原材料");
putValue(SHORT_DESCRIPTION,"检查有没有超储的原材料");
}
public void actionPerformed(ActionEvent e)
{
Vector title=new Vector();
title.addElement("原材料名称");
title.addElement("目前数目");
title.addElement("最小数目");
title.addElement("最大数目");
title.addElement("超储数目");
int id=1;
worning_table.setModel(setData(model,id,title));
}
};
AbstractAction bellow_worningAction=new AbstractAction()
{
{
putValue(NAME,"搜索缺少原材料");
putValue(SHORT_DESCRIPTION,"检查有没有缺少的原材料 ");
}
public void actionPerformed(ActionEvent e)
{
Vector title=new Vector();
title.addElement("原材料名称");
title.addElement("目前数目");
title.addElement("最小数目");
title.addElement("最大数目");
title.addElement("缺少数目");
int id=2;
worning_table.setModel(setData(model,id,title));
}
};
private DefaultTableModel setData(DefaultTableModel model,int id,Vector title)
{
if(id==1)
{
Vector v2=new Vector();
connDB();
String query="select yuancailiao_total.device_name,total_number,min_number,max_number,total_number-max_number from yuancailiao_total,yuancailiao_worning where yuancailiao_total.device_name=yuancailiao_worning.device_name and total_number>max_number;";
try
{
rs=st.executeQuery(query);
while(rs.next())
{
Vector v1=new Vector();
v1.addElement(rs.getString(1));
v1.addElement(rs.getString(2));
v1.addElement(rs.getString(3));
v1.addElement(rs.getString(4));
v1.addElement(rs.getString(5));
v2.addElement(v1);
}
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,"数据库操作失败!");
}
closeDB1();
model.setDataVector(v2,title);
}
else if(id==2)
{
Vector v2=new Vector();
connDB();
String query="select yuancailiao_total.device_name,total_number,min_number,max_number,min_number-total_number from yuancailiao_total,yuancailiao_worning where yuancailiao_total.device_name=yuancailiao_worning.device_name and total_number<min_number;";
try
{
rs=st.executeQuery(query);
while(rs.next())
{
Vector v1=new Vector();
v1.addElement(rs.getString(1));
v1.addElement(rs.getString(2));
v1.addElement(rs.getString(3));
v1.addElement(rs.getString(4));
v1.addElement(rs.getString(5));
v2.addElement(v1);
}
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,"数据库操作失败!");
}
closeDB1();
model.setDataVector(v2,title);
}
return model;
}
Font f=new Font("Monospaced", Font.PLAIN,12);
private JLabel worning=new JLabel("预警",SwingConstants.CENTER);
private JLabel description0=new JLabel("预警:统计数量不足或者超储的原材料",SwingConstants.CENTER);
JTable worning_table=null;
private Dimension viewsize=new Dimension(120,50);//表格所占的空间大小
private DefaultTableModel model=new DefaultTableModel();//空数据模型
Connection con=null;
ResultSet rs=null;
Statement st=null;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -