📄 frame.java
字号:
package com.wish;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;
public class frame extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
JTable table=null;
JTable k1table=null;
JTable k2table=null;
JTable k3table=null;
JTable k4table=null;
JTable k5table=null;
JTable k6table=null;
DefaultTableModel dtm=new DefaultTableModel();
DefaultTableModel k1dtm=new DefaultTableModel();
DefaultTableModel k2dtm=new DefaultTableModel();
DefaultTableModel k3dtm=new DefaultTableModel();
DefaultTableModel k4dtm=new DefaultTableModel();
DefaultTableModel k5dtm=new DefaultTableModel();
DefaultTableModel k6dtm=new DefaultTableModel();
ImageIcon qq=new ImageIcon("qq.gif");
JButton btnDel=new JButton("删除");
//JButton btnThis=new JButton("选择");
ImageIcon pnew=new ImageIcon("new.gif");
JButton btnAdd=new JButton("增加",pnew);
JButton btnUpdate=new JButton("刷新数据库");
JButton btnSelect=new JButton("查找记录");
JButton btnModify=new JButton("修改");
JTextField txt[]=new JTextField[5];
JLabel alt=new JLabel();
JScrollPane jsp=null;
JScrollPane k1=null;
JScrollPane k2=null;
JScrollPane k3=null;
JScrollPane k4=null;
JScrollPane k5=null;
JScrollPane k6=null;
JTabbedPane jtp=new JTabbedPane();
JMenuBar mnb=new JMenuBar();
JMenu sys=new JMenu("系统");
JMenu per=new JMenu("管理");
JMenuItem perlog=new JMenuItem("销售记录");
JMenuItem sysExit=new JMenuItem("退出");
JMenuItem personChange=new JMenuItem("切换用户");
JMenuItem perAdmin=new JMenuItem("设置管理员");
JMenuItem perVip=new JMenuItem("管理VIP");
public frame(String title)
{
super(title);
//菜单布局
mnb.add(sys);
mnb.add(per);
sys.add(personChange);
sys.addSeparator();
sys.add(sysExit);
per.add(perAdmin);
per.addSeparator();
per.add(perVip);
per.add(perlog);
this.setJMenuBar(mnb);
//按钮及文本布局
JPanel bottompan=new JPanel();
JPanel a=new JPanel();
JPanel b=new JPanel();
txt[0]=new JTextField(5);
txt[1]=new JTextField(5);
txt[2]=new JTextField(5);
txt[3]=new JTextField(5);
txt[4]=new JTextField(5);
for(int i=0;i<5;i++)
a.add(txt[i]);
a.add(btnModify);
a.add(alt);
//底部按钮
// b.add(btnThis);
b.add(btnUpdate);
b.add(btnAdd);
b.add(btnDel);
b.add(btnSelect);
//注册事件监听
personChange.addActionListener(this);
sysExit.addActionListener(this);
perAdmin.addActionListener(this);
perVip.addActionListener(this);
btnUpdate.addActionListener(this);
btnAdd.addActionListener(this);
btnDel.addActionListener(this);
btnModify.addActionListener(this);
btnSelect.addActionListener(this);
// btnThis.addActionListener(this);
perlog.addActionListener(this);
//底部布局
bottompan.setLayout(new GridLayout(2,1));
bottompan.add(a);
bottompan.add(b);
//标签布局
inTable();
jsp=new JScrollPane(table);
ink1Table();
k1=new JScrollPane(k1table);
ink2Table();
k2=new JScrollPane(k2table);
ink3Table();
k3=new JScrollPane(k3table);
ink4Table();
k4=new JScrollPane(k4table);
ink5Table();
k5=new JScrollPane(k5table);
ink6Table();
k6=new JScrollPane(k6table);
jtp.add("全部",jsp);
jtp.add("生活",k1);
jtp.add("饮食",k2);
jtp.add("书籍",k3);
jtp.add("健康",k4);
jtp.add("IT",k5);
jtp.add("其他",k6);
//标签切换
jtp.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent a) {
if(jtp.getSelectedComponent()==k1)
queryKind("生活",k1dtm,k1table);
else if(jtp.getSelectedComponent()==k2)
queryKind("饮食",k2dtm,k2table);
else if(jtp.getSelectedComponent()==jsp)
queryAll();
else if(jtp.getSelectedComponent()==k3)
queryKind("书籍",k3dtm,k3table);
else if(jtp.getSelectedComponent()==k4)
queryKind("健康",k4dtm,k4table);
else if(jtp.getSelectedComponent()==k5)
queryKind("IT",k5dtm,k5table);
else if(jtp.getSelectedComponent()==k6)
queryKind("其他",k6dtm,k6table);
}
}
);
//表格单击事件
table.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
int row=table.getSelectedRow();
for(int i=0;i<5;i++)
txt[i].setText((String) table.getValueAt(row,i));
}
});
k1table.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
int row=k1table.getSelectedRow();
for(int i=0;i<5;i++)
txt[i].setText((String) k1table.getValueAt(row,i));
}
});
k2table.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
int row=k2table.getSelectedRow();
for(int i=0;i<5;i++)
txt[i].setText((String) k2table.getValueAt(row,i));
}
});
k3table.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
int row=k3table.getSelectedRow();
for(int i=0;i<5;i++)
txt[i].setText((String) k3table.getValueAt(row,i));
}
});
k4table.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
int row=k4table.getSelectedRow();
for(int i=0;i<5;i++)
txt[i].setText((String) k4table.getValueAt(row,i));
}
});
k5table.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
int row=k5table.getSelectedRow();
for(int i=0;i<5;i++)
txt[i].setText((String) k5table.getValueAt(row,i));
}
});
k6table.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
int row=k6table.getSelectedRow();
for(int i=0;i<5;i++)
txt[i].setText((String) k6table.getValueAt(row,i));
}
});
//顶部文字及图片
JLabel ti=new JLabel("欢迎使用YY超市管理小系统",JLabel.CENTER);
ti.setFont(new Font("隶书",0,24));
final JLabel qqt=new JLabel(" ",qq,0);
JPanel title1=new JPanel();
title1.setLayout(new FlowLayout());
title1.add(ti);
title1.add(qqt);
qqt.addMouseListener(new MouseAdapter(){
public void mouseEntered(MouseEvent e)
{
qqt.setText("yeyi279@gmail.com");
qqt.setIcon(null);
}
public void mouseExited(MouseEvent e)
{qqt.setText("");
qqt.setIcon(qq);}
});
//整体布局
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(title1,BorderLayout.NORTH);
this.getContentPane().add(jtp);
this.getContentPane().add(bottompan,BorderLayout.SOUTH);
setSize(600,400);
setframe.set(this);
queryAll();
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==btnUpdate)
{
queryAll();
}
else if(e.getSource()==perlog)
{
new saled_log();
}
else if(e.getSource()==personChange)
{
this.dispose();
new Login("登陆");
}
//删除事件
else if(e.getSource()==btnDel)
{
int row=table.getSelectedRow();
String item_id=(String) table.getValueAt(row,0);
if(row<0)
alt.setText("没有项被选中!");
if (row>=0)
{
@SuppressWarnings("unused") boolean flag=new ItemManager().delItem(item_id);
if(flag=true)
{queryAll();
for(int i=0;i<5;i++)
txt[i].setText("");}
else if(flag=false)
alt.setText("删除物品出错!");
}
}
//增加事件
else if(e.getSource()==btnAdd)
{
new AddItem("添加记录");
}
//更改事件
else if(e.getSource()==btnModify)
{
Item item=new Item();
item.setItem_id(txt[0].getText());
item.setItem_name(txt[1].getText());
item.setItem_dw(txt[2].getText());
item.setItem_dj(txt[3].getText());
item.setItem_kind(txt[4].getText());
new ItemManager().updateItem(item);
queryAll();
}
//物品查找
else if(e.getSource()==btnSelect)
{
String re=JOptionPane.showInputDialog("请输入您要查找的物品名称:");
queryItem(re);
}
//菜单
else if(e.getSource()==sysExit)
{
this.dispose();
}
else if(e.getSource()==perVip)
{
new Vipfrm();
}
else if(e.getSource()==perAdmin)
{
new Adminfrm();
}
}
//表格初始化
private void inTable()
{
table = new JTable(dtm);
dtm.addColumn("物品编号");
dtm.addColumn("物品名称");
dtm.addColumn("物品单位");
dtm.addColumn("物品单价");
dtm.addColumn("物品种类");
}
private void ink1Table()
{
k1table = new JTable(k1dtm);
k1dtm.addColumn("物品编号");
k1dtm.addColumn("物品名称");
k1dtm.addColumn("物品单位");
k1dtm.addColumn("物品单价");
k1dtm.addColumn("物品种类");
}
private void ink2Table()
{
k2table = new JTable(k2dtm);
k2dtm.addColumn("物品编号");
k2dtm.addColumn("物品名称");
k2dtm.addColumn("物品单位");
k2dtm.addColumn("物品单价");
k2dtm.addColumn("物品种类");
}
private void ink3Table()
{
k3table = new JTable(k3dtm);
k3dtm.addColumn("物品编号");
k3dtm.addColumn("物品名称");
k3dtm.addColumn("物品单位");
k3dtm.addColumn("物品单价");
k3dtm.addColumn("物品种类");
}
private void ink4Table()
{
k4table = new JTable(k4dtm);
k4dtm.addColumn("物品编号");
k4dtm.addColumn("物品名称");
k4dtm.addColumn("物品单位");
k4dtm.addColumn("物品单价");
k4dtm.addColumn("物品种类");
}
private void ink5Table()
{
k5table = new JTable(k5dtm);
k5dtm.addColumn("物品编号");
k5dtm.addColumn("物品名称");
k5dtm.addColumn("物品单位");
k5dtm.addColumn("物品单价");
k5dtm.addColumn("物品种类");
}
private void ink6Table()
{
k6table = new JTable(k6dtm);
k6dtm.addColumn("物品编号");
k6dtm.addColumn("物品名称");
k6dtm.addColumn("物品单位");
k6dtm.addColumn("物品单价");
k6dtm.addColumn("物品种类");
}
//查询数据库
private void queryAll()
{
DefaultTableModel dtm=new DefaultTableModel();
dtm.addColumn("物品编号");
dtm.addColumn("物品名称");
dtm.addColumn("物品单位");
dtm.addColumn("物品单价");
dtm.addColumn("物品种类");
ItemManager IM=new ItemManager();
Vector v=IM.getItem();
for(int i=0;i<v.size();i++)
{
Item item = (Item) v.get(i);
Object[]data = new Object[5];
data[0] = item.getItem_id();
data[1] = item.getItem_name();
data[2] = item.getItem_dw();
data[3] = item.getItem_dj();
data[4] = item.getItem_kind();
dtm.addRow(data);
}table.setModel(dtm);
}
//查询数据库中某种类
private void queryKind(String n,DefaultTableModel d,JTable t)
{
d=new DefaultTableModel();
d.addColumn("物品编号");
d.addColumn("物品名称");
d.addColumn("物品单位");
d.addColumn("物品单价");
d.addColumn("物品种类");
ItemManager IM=new ItemManager();
Vector v=IM.queryKind(n);
for(int i=0;i<v.size();i++)
{
Item item = (Item) v.get(i);
Object[]data = new Object[5];
data[0] = item.getItem_id();
data[1] = item.getItem_name();
data[2] = item.getItem_dw();
data[3] = item.getItem_dj();
data[4] = item.getItem_kind();
d.addRow(data);
}t.setModel(d);
}
//查询DB中一条物品
private void queryItem(String n)
{
DefaultTableModel dtm=new DefaultTableModel();
dtm.addColumn("物品编号");
dtm.addColumn("物品名称");
dtm.addColumn("物品单位");
dtm.addColumn("物品单价");
dtm.addColumn("物品种类");
ItemManager IM=new ItemManager();
Vector v=IM.queryItem(n);
for(int i=0;i<v.size();i++)
{
Item item = (Item) v.get(i);
Object[]data = new Object[5];
data[0] = item.getItem_id();
data[1] = item.getItem_name();
data[2] = item.getItem_dw();
data[3] = item.getItem_dj();
data[4] = item.getItem_kind();
dtm.addRow(data);
}table.setModel(dtm);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -