📄 saleframe.java
字号:
package com.wish;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Date;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
///销售界面
public class Saleframe extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
//菜单
JMenuBar mnbar=new JMenuBar();
JMenu sys=new JMenu("系统");
JMenuItem sysExit=new JMenuItem("退出系统");
JMenuItem sysChange=new JMenuItem("切换用户");
ImageIcon ico= new ImageIcon("sale.gif");
DefaultTableModel dtm=new DefaultTableModel();
JPanel right=new JPanel();
JPanel top=new JPanel();
JPanel bottom=new JPanel();
JTable table=null;
JScrollPane itempan=null;
//右框
JLabel userid=new JLabel("ID:");
JTextField User_id=new JTextField("1000");
JLabel username=new JLabel("用户名:");
JLabel User_name=new JLabel("临时用户");
JLabel userpay=new JLabel("折扣率:");
JLabel User_pay =new JLabel("1.0");
JLabel alt=new JLabel("销售");
JLabel id=new JLabel("编号:");
JTextField item_id=new JTextField();
JLabel item=new JLabel("物品");
JLabel item_name=new JLabel();
JLabel R1=new JLabel("数量:");
JTextField num=new JTextField("1");
JLabel dw=new JLabel("单位:");
JLabel item_dw=new JLabel();
JLabel dj=new JLabel("单价:");
JLabel item_dj=new JLabel();
JButton btnAdd=new JButton("添加");
JButton btnDel=new JButton("删除");
JButton btnOver=new JButton(ico);
JLabel in=new JLabel("实收:");
JTextField In=new JTextField("0");
//底框
JLabel SUM=new JLabel("总价:");
JLabel out=new JLabel("应找:");
JLabel Out=new JLabel();
JLabel sum=new JLabel();
//顶部框
String adminname=null;
JLabel toplay=new JLabel("YY超市小系统");
JLabel Time=new JLabel();
float o=0f;
java.util.Timer time = new java.util.Timer();
public Saleframe(String title,String admin_name){
super(title);
inTable();
adminname=admin_name;
JLabel toplay2=new JLabel("---销售员:"+admin_name);
itempan=new JScrollPane(table);
top.add(toplay);
top.add(toplay2);
top.add(Time);
toplay.setFont(new Font("黑体",1,24));
//菜单布局
mnbar.add(sys);
sys.add(sysChange);
sys.addSeparator();
sys.add(sysExit);
//底框
bottom.setLayout(new FlowLayout());
bottom.add(SUM);
SUM.setFont(new Font("隶书",0,28));
bottom.add(sum);
bottom.add(out);
bottom.add(Out);
//右框
right.setLayout(new GridLayout(14,2));
right.add(userid);
right.add(User_id);
right.add(username);
right.add(User_name);
right.add(userpay);
right.add(User_pay);
right.add(id);
right.add(item_id);
right.add(item);
right.add(item_name);
right.add(R1);
right.add(num);
right.add(dw);
right.add(item_dw);
right.add(dj);
right.add(item_dj);
right.add(btnAdd);
right.add(btnDel);
right.add(in);
right.add(In);
right.add(btnOver);
right.add(new JLabel());
right.add(alt);
sysChange.addActionListener(this);
sysExit.addActionListener(this);
btnDel.addActionListener(this);
btnAdd.addActionListener(this);
btnOver.addActionListener(this);
setLayout(new BorderLayout());
this.setJMenuBar(mnbar);
this.getContentPane().add(right,BorderLayout.EAST);
this.getContentPane().add(top,BorderLayout.NORTH);
this.getContentPane().add(bottom,BorderLayout.SOUTH);
this.getContentPane().add(itempan,BorderLayout.CENTER);
this.setSize(600,450);
setframe.set(this);
User_id.requestFocus();//加载时即获取焦点
time.schedule(new TimerTask(){
@Override
public void run() {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Time.setText(sdf.format(date));
}},1,1000);
item_id.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==10)
{
String n=item_id.getText();
Vector v=new ItemManager().get1(n);
if (v.isEmpty()==false)
{
Item item=(Item) v.get(0);
item_name.setText(item.getItem_name());
item_dw.setText(item.getItem_dw());
item_dj.setText(item.getItem_dj());
num.requestFocus();
}
else if(v.isEmpty()==true)
alt.setText("无此物品");
}
}
});
User_id.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==10)
{
String n=User_id.getText();
Vector v=new VipManager().get1(n);
if(v.isEmpty()==false)
{ User user=(User)v.get(0);
User_name.setText(user.getUser_name());
User_pay.setText(user.getUser_pay());
item_id.requestFocus();
}
else if(v.isEmpty()==true)
alt.setText("无此用户!");
}
}
});
In.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==10)
btnOver.requestFocus();
}
});
num.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==10)
{
btnAdd.requestFocus();
}
}
});
btnAdd.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==10)
{add();}
}
});
btnOver.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==10)
{Over();}
}
});
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==btnAdd)//添加按钮事件
add();
else if(e.getSource()==btnDel)
{
int row=table.getSelectedRow();
if(row!=-1)
dtm.removeRow(row);
}
else if(e.getSource()==btnOver)
{ Over();
}
else if(e.getSource()==sysExit)
{
this.dispose();
new Login("登陆");
}
else if(e.getSource()==sysChange)
{
this.dispose();
new Login("登陆");
}
}
//计算消费和
private void add()
{
Object data[]=new Object[5];
data[0]=item_id.getText();
data[1]=item_name.getText();
data[2]=num.getText();
data[3]=item_dw.getText();
data[4]=item_dj.getText();
dtm.addRow(data);
item_name.setText("");
num.setText("1");
item_dj.setText("");
item_dw.setText("");
float s=0f;
int r=dtm.getRowCount();
//System.out.print(r);
for(int i=0;i<r;i++)
{
int c=Integer.parseInt(dtm.getValueAt(i,2).toString());
float d=Float.parseFloat(dtm.getValueAt(i,4).toString());
float p=Float.parseFloat(User_pay.getText());
s=s+c*d*p;
}
this.sum.setText(String.valueOf(s));
item_id.requestFocus();
}
private void inTable()
{
table=new JTable(dtm);
dtm.addColumn("编号");
dtm.addColumn("名称");
dtm.addColumn("数量");
dtm.addColumn("单位");
dtm.addColumn("单价");
}
//更新数据库中总消费值
private void put(){
Connection cn=ConnectionDB.getCon();
Statement st=null;
ResultSet rs=null;
String userid=User_id.getText();
String userbuy=null;
try {
st=cn.createStatement();
rs=st.executeQuery("select user_buy from userlist where user_id='"+userid+"'");
while(rs.next())
{
userbuy=rs.getString("user_buy");
}
userbuy=String.valueOf(Float.parseFloat(userbuy)+Float.parseFloat(sum.getText()));
st.executeUpdate("update userlist set user_buy='"+userbuy+"' where user_id='"+userid+"'");
st.executeUpdate("insert into saled_log values('"+adminname+"','"+User_id.getText()+"','"+Time.getText()+"','"+sum.getText()+"')");
} catch (SQLException e) {
e.printStackTrace();
}
ConnectionDB.close(cn);
ConnectionDB.close(rs);
ConnectionDB.close(st);
}
//结帐函数
private void Over(){
float s=Float.parseFloat(sum.getText());
o=(Float.parseFloat(In.getText())-s);
if(o<0)
JOptionPane.showMessageDialog(this, "不足以支付!");
else
{Out.setText(String.valueOf(o));
// 打印购买清单
System.out.println("销售员:"+adminname);
System.out.print("用户名:"+User_name.getText()+" ");
System.out.println(Time.getText());
System.out.println("名称"+" "+"数量"+" "+"单位"+" "+"单价"+" ");
int r=dtm.getRowCount();
for(int i=0;i<r;i++)
{
String i2=(String) dtm.getValueAt(i,1);
String i3=(String) dtm.getValueAt(i,2);
String i4=(String) dtm.getValueAt(i,3);
String i5=(String) dtm.getValueAt(i,4);
System.out.println(i2+" "+i3+" "+i4+" "+i5);
}
System.out.print("实收:$"+In.getText()+" "+"应找:$"+o);
//将消费数放入数据库
put();//
//结帐后全部清空
for(int i=0;i<r;i++)
dtm.removeRow(0);
User_id.setText("1000");
User_name.setText("临时用户");
item_id.setText("");
item_name.setText("");
num.setText("1");
item_dw.setText("");
item_dj.setText("");
In.setText("");
sum.setText("");
JOptionPane.showMessageDialog(this,"成功打印并已存入消费记录");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -