Java课程设计超市库存管理系统附源代码可以直接运行.docx

上传人:b****6 文档编号:14008186 上传时间:2023-06-20 格式:DOCX 页数:59 大小:919.44KB
下载 相关 举报
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第1页
第1页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第2页
第2页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第3页
第3页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第4页
第4页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第5页
第5页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第6页
第6页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第7页
第7页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第8页
第8页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第9页
第9页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第10页
第10页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第11页
第11页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第12页
第12页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第13页
第13页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第14页
第14页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第15页
第15页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第16页
第16页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第17页
第17页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第18页
第18页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第19页
第19页 / 共59页
Java课程设计超市库存管理系统附源代码可以直接运行.docx_第20页
第20页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java课程设计超市库存管理系统附源代码可以直接运行.docx

《Java课程设计超市库存管理系统附源代码可以直接运行.docx》由会员分享,可在线阅读,更多相关《Java课程设计超市库存管理系统附源代码可以直接运行.docx(59页珍藏版)》请在冰点文库上搜索。

Java课程设计超市库存管理系统附源代码可以直接运行.docx

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();//更新中的数据

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2