Java课程设计超市库存管理系统附源代码可以直接运行.docx
- 文档编号:26502522
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:59
- 大小:919.44KB
Java课程设计超市库存管理系统附源代码可以直接运行.docx
《Java课程设计超市库存管理系统附源代码可以直接运行.docx》由会员分享,可在线阅读,更多相关《Java课程设计超市库存管理系统附源代码可以直接运行.docx(59页珍藏版)》请在冰豆网上搜索。
Java课程设计超市库存管理系统附源代码可以直接运行
一、需求分析
本系统主要是用来帮助小型超市进行库存管理系统,能够有效的帮助小型超市进行库存管理!
其中包括增删改查等基本的应用。
极大的提高了超市的库存管理效率,节省了大量的时间。
***********************************************************
***********************************************************
二、概要设计
1、本系统的每一个功能模块都包含了多个功能。
整个系统主要完成对超市商品的日常管理,包括进货管理,库存管理和供应商管理等方面。
在功能上系统可以完成对相关信息的浏览、查询、添加、删除、修改等功能。
本课题的核心之一是销售管理、库存管理和进货管理三者之间的联系,同时系统有完整的用户管理功能。
本系统采用java语言和SQL Server 2008作为开发工具。
这种系统优势在于系统比较简单,但功能强大,扩展性能也比较好,完全能够处理一般超市的日常任务
2、整体分为3个模块(货物,供应商,记录)每个模块之间相互关联,都有自己的增删改查!
3、程序流程图如下:
三、详细设计
1、数据库设计
Goods表:
Lzs(用户登录名,密码):
Recond表():
记录表
Supplier(供应商表):
用户登录界面:
设计代码如下:
packagesource;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.sql.*;
@SuppressWarnings("serial")
publicclassloginframeextendsJFrameimplementsActionListener{
JTextField用户名;
JPasswordField密码;
JButton登录,重置;
BoxbaseBox,box1,box2,box3;//盒式布局
ImagePanelp;//用于插入图片的面板
JSplitPanesplit;//拆分窗格
Fontf;//设置字体
JLabeluserName,psw;
FunctionwMain;
Connectioncon;
Statementsql;
ResultSetrs;
Stringdbdriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
Stringdburl="jdbc:
sqlserver:
//localhost:
1433;DatabaseName=LZS";
Stringuser="sa";
Stringpass="123";
publicloginframe()
{
setLayout(newFlowLayout());
init();
setBounds(130,80,960,600);
setVisible(true);
setResizable(false);
try{
Class.forName(dbdriver);
}
catch(ClassNotFoundExceptionclassnotfound){
System.out.println("未能找到SQLServerDriver,请检查是否已加载SQLServer驱动");
}
}
voidinit()
{
f=newFont("幼圆",Font.BOLD,18);
p=newImagePanel(newImageIcon("E:
/Java文件/SuperMarket/picture/1.jpg").getImage());
登录=newJButton("登录");
登录.addActionListener(this);
重置=newJButton("重置");
重置.addActionListener(this);
用户名=newJTextField(16);
用户名.setFont(f);
密码=newJPasswordField(16);
userName=newJLabel("用户名:
");
userName.setFont(f);
psw=newJLabel("密码:
");
psw.setFont(f);
box1=Box.createVerticalBox();
box1.add(userName);
box1.add(Box.createVerticalStrut(20));
box1.add(psw);
box2=Box.createVerticalBox();
box2.add(Box.createVerticalStrut(240));
box2.add(用户名);
box2.add(Box.createVerticalStrut(20));
box2.add(密码);
box2.add(Box.createVerticalStrut(20));
box3=Box.createHorizontalBox();
box3.add(登录);
box3.add(Box.createHorizontalStrut(20));
box3.add(重置);
box2.add(box3);
box2.add(Box.createVerticalStrut(200));
baseBox=Box.createHorizontalBox();
baseBox.add(box1);
baseBox.add(Box.createHorizontalStrut(15));
baseBox.add(box2);
//baseBox.add(登录);
split=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,false,p,baseBox);
split.setDividerLocation(0.5);
add(split,BorderLayout.PAGE_START);
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==登录){
StringUname=用户名.getText().trim();
char[]psw=密码.getPassword();
StringpassWord=newString(psw);
try{
con=DriverManager.getConnection("jdbc:
sqlserver:
//localhost:
1433;DatabaseName=LZS","sa","123");
System.out.println("数据库连接成功!
");
sql=con.createStatement();
Stringstring="SELECT*FROMlzsWHEREUname='"+Uname+"'ANDmima='"+passWord+"'";
rs=sql.executeQuery(string);
if(rs.next()){
wMain=newFunction();
wMain.setTitle("超市库存管理系统");
wMain.setVisible(true);
this.dispose();
//wMain.pack();
}
else{
JOptionPane.showMessageDialog(this,"您输入的用密码不正确","警告对话框",JOptionPane.WARNING_MESSAGE);
密码.setText(null);
密码.requestFocus();
}
con.close();
}
catch(SQLExceptionee){
ee.printStackTrace();
}
}elseif(e.getSource()==重置){
用户名.setText("");
密码.setText("");
}
}
}
进入主界面:
第一菜单(货物):
第二菜单(供应商):
第三菜单(记录):
设计代码如下:
packagesource;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
@SuppressWarnings("serial")
publicclassFunctionextendsJFrameimplementsActionListener{
Fontf;
//菜单栏
JMenuBarmenubar;//菜单条
JMenu货物,供应商,记录;//菜单
JMenuItem货物管理,退出,供应商管理,查询记录,进货计划;//菜单项
//Boxbox;
JLabellabel;
ImagePanelp;//用于插入图片的面板
//构造函数
Function()
{
setLayout(newFlowLayout());
init();
setTitle("超市库存管理系统");
setLocation(20,30);
setSize(1200,800);
setBounds(130,80,960,600);
setVisible(true);
setResizable(false);
}
voidinit()
{
menubar=newJMenuBar();
f=newFont("华文行楷",Font.BOLD,50);
Fontf2=newFont("宋体",0,12);
p=newImagePanel(newImageIcon("E:
Java文件/SuperMarket/picture/2.jpg").getImage());
//库房货物管理菜单
货物=newJMenu("货物");
货物.setFont(f2);
货物管理=newJMenuItem("货物管理");
货物管理.setFont(f2);
货物管理.addActionListener(this);
退出=newJMenuItem("退出");
退出.setFont(f2);
退出.addActionListener(this);
货物.add(货物管理);
货物.add(退出);
menubar.add(货物);
//货物供应商菜单
供应商=newJMenu("供应商");
供应商.setFont(f2);
供应商管理=newJMenuItem("供应商管理");
供应商管理.setFont(f2);
供应商管理.addActionListener(this);
供应商.add(供应商管理);
menubar.add(供应商);
//货物进货、入库和出库记录查询菜单
记录=newJMenu("记录");
记录.setFont(f2);
查询记录=newJMenuItem("查询记录");
查询记录.setFont(f2);
查询记录.addActionListener(this);
进货计划=newJMenuItem("进货计划");
进货计划.setFont(f2);
进货计划.addActionListener(this);
记录.add(查询记录);
记录.add(进货计划);
menubar.add(记录);
label=newJLabel("欢迎进入超市库存管理系统");
label.setFont(f);
p.add(label);
label.setBounds(300,400,800,200);
add(p,BorderLayout.CENTER);
setJMenuBar(menubar);
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==供应商管理)
{
SupplierManagesmTable=newSupplierManage();
smTable.setVisible(true);
smTable.pack();
}
elseif(e.getSource()==货物管理)
{
goodsgoTable=newgoods();
goTable.setVisible(true);
goTable.pack();
}
elseif(e.getSource()==查询记录)
{
recordreTable=newrecord();
reTable.setVisible(true);
reTable.pack();
}
elseif(e.getSource()==进货计划){
planplTable=newplan();
plTable.setVisible(true);
plTable.pack();
}
elseif(e.getSource()==退出)
{
this.dispose();
}
}
}
进入第一菜单(货物管理):
在此菜单下,可进行货物的增删改查操作,设计代码如下:
packagesource;
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
importjavax.swing.*;
importjavax.swing.table.DefaultTableModel;
@SuppressWarnings("serial")
publicclassgoodsextendsJFrameimplementsActionListener{
JTabletable;
JLabellabel;
JTextFieldinputText;
String[]name={"货物号","货物名","进货价","售价","折扣价","余量","余量预警值","供应商"};
String[]strings=newString[8];
JButton添加,修改,删除,退出,确认修改;
JPanelp;
JLabel[]labels=newJLabel[8];
JTextField[]fields=newJTextField[8];
BoxbaseBox,box1,box2;
ImagePanelpp;//用于插入图片的面板
JSplitPanesplit;//拆分窗格
DefaultTableModeldeModel=null;
Connectioncon;
Statementsql;
ResultSetrs;
Stringdbdriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
Stringdburl="jdbc:
sqlserver:
//localhost:
1433;DatabaseName=LZS";
Stringuser="sa";
Stringpass="123";
goods()
{
setLayout(newBorderLayout());
init();
//Toolkittk=Toolkit.getDefaultToolkit();
//Imageimg=tk.getImage("E:
Java文件/SuperMarket/picture/2.jpg");
//setIconImage(img);
setTitle("货物管理");
setBounds(130,80,960,600);;
//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
try{
Class.forName(dbdriver);
}
catch(ClassNotFoundExceptionclassnotfound){
classnotfound.printStackTrace();
}
}
voidinit()
{
pp=newImagePanel(newImageIcon("E:
/Java文件/SuperMarket/picture/2.jpg").getImage());
添加=newJButton("添加");
修改=newJButton("修改");
删除=newJButton("删除");
退出=newJButton("退出");
确认修改=newJButton("确认修改");
label=newJLabel("请输入想要删除或修改的货物名:
");
inputText=newJTextField(8);
添加.addActionListener(this);
修改.addActionListener(this);
删除.addActionListener(this);
退出.addActionListener(this);
确认修改.addActionListener(this);
p=newJPanel();
p.add(label);
p.add(inputText);
p.add(添加);
p.add(修改);
p.add(删除);
p.add(退出);
p.add(确认修改);
add(p,BorderLayout.SOUTH);
labels[0]=newJLabel("货物号");
labels[1]=newJLabel("货物名");
labels[2]=newJLabel("进货价");
labels[3]=newJLabel("售价");
labels[4]=newJLabel("折扣价");
labels[5]=newJLabel("余量");
labels[6]=newJLabel("余量预警值");
labels[7]=newJLabel("供应商");
for(inti=0;i<8;i++){
fields[i]=newJTextField(20);
}
//用盒式容器装要录入的数据和标签
box1=Box.createVerticalBox();
box1.add(Box.createVerticalStrut(15));
for(inti=0;i<8;i++){
box1.add(labels[i]);
box1.add(Box.createVerticalStrut(35));
}
box2=Box.createVerticalBox();
box2.add(Box.createVerticalStrut(10));
for(inti=0;i<8;i++){
box2.add(fields[i]);
box2.add(Box.createVerticalStrut(14));
}
baseBox=Box.createHorizontalBox();
baseBox.add(box1);
baseBox.add(Box.createHorizontalStrut(15));
baseBox.add(box2);
//添加表格
add(baseBox,BorderLayout.EAST);
deModel=newDefaultTableModel(name,0);
table=newJTable(deModel);
table.setCellSelectionEnabled(false);
table.setEnabled(false);
table.setShowHorizontalLines(true);
table.setShowVerticalLines(true);
//add(newJScrollPane(table),BorderLayout.CENTER);
split=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,false,newJScrollPane(table),baseBox);
split.setDividerLocation(0.5);
add(split,BorderLayout.CENTER);
StringsqlString="select*fromgoods";
try{
//连接数据库
con=DriverManager.getConnection(dburl,user,pass);
sql=con.createStatement();
JOptionPane.showMessageDialog(this,"数据库连接成功!
","消息对话框",JOptionPane.INFORMATION_MESSAGE);
rs=sql.executeQuery(sqlString);
while(rs.next()){
for(inti=0;i<8;i++){
strings[i]=rs.getString(i+1);//把查询的结果填入表格中
}
deModel.addRow(strings);
deModel.fireTableStructureChanged();//更新中的数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 超市 库存 管理 系统 源代码 可以 直接 运行