📄 frameproductout.java
字号:
import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.awt.event.*;
public class FrameProductOut extends JFrame{
// 定义临时结果的结果集
ResultSet rs;
//dbmanager
private DB_Manager db =new DB_Manager();
JLabel lb1 = new JLabel("款型",JLabel.RIGHT),lb2 = new JLabel("入库日期",JLabel.RIGHT);
JLabel lb3 = new JLabel("颜色",JLabel.RIGHT),lb4 = new JLabel("操作员 ",JLabel.RIGHT),lb5 = new JLabel("备注",JLabel.RIGHT);
JLabel lb36 = new JLabel("36",JLabel.RIGHT),lb37 = new JLabel("37",JLabel.RIGHT),lb38 = new JLabel("38",JLabel.RIGHT),
lb39 = new JLabel("39",JLabel.RIGHT),lb40 = new JLabel("40",JLabel.RIGHT),lb41 = new JLabel("41",JLabel.RIGHT),
lb42 = new JLabel("42",JLabel.RIGHT),lb43 = new JLabel("43",JLabel.RIGHT),lb44 = new JLabel("44",JLabel.RIGHT);
JTextField jtType = new JTextField(10),jtDate = new JTextField(10),
jtOper = new JTextField(12),jtDemo = new JTextField(30);
JComboBox jcColor = new JComboBox();
JTextField jt36 = new JTextField(8),jt37 = new JTextField(8),
jt38 = new JTextField(8),jt39 = new JTextField(8),
jt40 = new JTextField(8),jt41 = new JTextField(8),
jt42 = new JTextField(8),jt43 = new JTextField(8),jt44 = new JTextField(8);
JButton clear = new JButton("清空");
JButton addNew = new JButton("添加");
JButton cancel = new JButton("取消");
private void makeGUI(){
jcColor.addItem("");
jcColor.addItem("red");
jcColor.addItem("black");
jcColor.addItem("blue");
jcColor.setSize(100,30);
JPanel jp1 = new JPanel();
jp1.setLayout(new BorderLayout());
JPanel jjp = new JPanel();
jjp.setLayout(new FlowLayout());
jp1.add(jjp,BorderLayout.CENTER);
jjp.add(new JLabel(" "));
jjp.add(lb1);jjp.add(jtType);
jjp.add(new JLabel(" "));
jjp.add(lb2);jjp.add(jtDate);
jjp.add(new JLabel(" "));
jjp.add(new JLabel(" "));
jjp.add(lb3);jjp.add(jcColor);
jjp.add(new JLabel(" "));
jjp.add(lb4);jjp.add(jtOper);
JPanel jjp2 = new JPanel();
jjp2.setLayout(new FlowLayout());
jjp2.add(lb5); jjp2.add(jtDemo);
jp1.add(jjp2,BorderLayout.SOUTH);
JPanel jp2 = new JPanel();
JPanel jpp1 = new JPanel();
JPanel jpp2 = new JPanel();
jp2.setLayout(new BorderLayout());
jp2.add(new JLabel("信息明细:"),BorderLayout.NORTH);
jp2.add(new JLabel(" "),BorderLayout.EAST);
jpp1.setLayout(new GridLayout(3,6,10,0));
jpp1.add(lb36);jpp1.add(jt36);
jpp1.add(lb39);jpp1.add(jt39);
jpp1.add(lb42);jpp1.add(jt42);
jpp1.add(lb37);jpp1.add(jt37);
jpp1.add(lb40);jpp1.add(jt40);
jpp1.add(lb43);jpp1.add(jt43);
jpp1.add(lb38);jpp1.add(jt38);
jpp1.add(lb41);jpp1.add(jt41);
jpp1.add(lb44);jpp1.add(jt44);
jpp2.setLayout(new FlowLayout());
jpp2.add(clear);jpp2.add(new JLabel(" "));
jpp2.add(addNew);jpp2.add(new JLabel(" "));
jpp2.add(cancel);
jp2.add(jpp1,BorderLayout.CENTER);
jp2.add(jpp2,BorderLayout.SOUTH);
getContentPane().setLayout(new GridLayout(2,1,10,10));
getContentPane().add(jp1);
getContentPane().add(jp2);
}
// 可调用的清空文本框过程
void reSetAllTextbox(){
jtType.setText("");
jtDate.setText("");
jtDemo.setText("");
jcColor.setSelectedIndex(0);
jtOper.setText("");
jt44.setText("0");
jt43.setText("0");
jt42.setText("0");
jt41.setText("0");
jt40.setText("0");
jt39.setText("0");
jt36.setText("0");
jt37.setText("0");
jt38.setText("0");
}
private void eventProcess(){
clear.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
reSetAllTextbox();
}
});
addNew.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
if(jtType.getText().trim().equals("")&jcColor.getSelectedItem().toString().equals(""))
{
JOptionPane.showMessageDialog(null," 款型和颜色不许全部为空!");
return;
}
String sql;
sql="select * from ProductStore ";
sql=sql+" where Model='"+jtType.getText().trim()+"'";
sql=sql+" and Color='"+jcColor.getSelectedItem().toString().trim() +"'";
rs =db.getResult(sql);
try {
//如果已存在,则将原数据库中的数目减去新减去的数目并执行更新操作
if (rs.first() ) {
sql = "update ProductStore set Number36= Number36-" +jt36.getText().trim()+",";
sql = sql + " Number37=Number37-" + jt37.getText().trim() + ",";
sql = sql + " Number38=Number38-" + jt38.getText().trim() + ",";
sql = sql + " Number39=Number39-" + jt39.getText().trim() + ",";
sql = sql + " Number40=Number40-" + jt40.getText().trim() +",";
sql = sql + " Number41=Number41-" + jt41.getText().trim() +",";
sql = sql + " Number42=Number42-" + jt42.getText().trim() +",";
sql = sql + " Number43=Number43-" + jt43.getText().trim() +",";
sql = sql + " Number44=Number44-" + jt44.getText().trim() +"";
sql = sql + " where Model='" + jtType.getText().trim() + "'";
sql = sql + " and Color ='" + jcColor.getSelectedItem().toString().trim() + "'";
}
//若不存在返回
else {
JOptionPane.showMessageDialog(null,"产品数据库中无此商品信息!");
return;
}
}
catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"操作失败!");
}
// 执行数据操作
if(db.executeSql(sql))
{//若成功则清空文本框
//reSetAllTextbox();
JOptionPane.showMessageDialog(null,"操作成功!");}
else
{
JOptionPane.showMessageDialog(null,"操作失败!");}
//当然对于产品出库信息表始终是插入新值
sql = "insert into ProductOut (Model,Color,Dateout,Operator, Comment,Number36,Number37,Number38,Number39,Number40,Number41,Number42,Number43,Number44)values( ";
sql = sql + "'" + jtType.getText() + "',";
sql = sql + "'" + jcColor.getSelectedItem().toString() + "',";
sql = sql + "'" + jtDate.getText() + "',"; //date
sql = sql + "'" + jtOper.getText() + "',";
sql = sql + "'" + jtDemo.getText() + "',";
sql = sql + "" + jt36.getText() + ",";
sql = sql + "" + jt37.getText() + ",";
sql = sql + "" + jt38.getText() + ",";
sql = sql + "" + jt39.getText() + ",";
sql = sql + "" + jt40.getText() + ",";
sql = sql + "" + jt41.getText() + ",";
sql = sql + "" + jt42.getText() + ",";
sql = sql + "" + jt43.getText() + ",";
sql = sql + "" + jt44.getText() + "";
sql = sql + ")";
//使用DBManager对象执行操作 ,并返回成功或失败信息
if(db.executeSql(sql)){
//执行操作后清空文本框
reSetAllTextbox();
JOptionPane.showMessageDialog(null,"操作成功!");
}
else
{
JOptionPane.showMessageDialog(null,"操作失败 !");
}
}
});
cancel.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
exit();
}
});
}
private void exit(){
this.dispose();
}
FrameProductOut(String title){
super(title);
makeGUI();
eventProcess();
addWindowListener(new Winlisten());
}
class Winlisten extends WindowAdapter{
public void windowClosing(WindowEvent e){
exit();
}
}
public static void main(String[] args) {
FrameProductOut out = new FrameProductOut("产品入库");
out.validate();
out.setVisible(true);
out.setBounds(125,130,500,300);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -