Java课程设计超库存管理系统附源代码可以直接运行_第1页
Java课程设计超库存管理系统附源代码可以直接运行_第2页
Java课程设计超库存管理系统附源代码可以直接运行_第3页
Java课程设计超库存管理系统附源代码可以直接运行_第4页
Java课程设计超库存管理系统附源代码可以直接运行_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、超市库存治理系统专 业:计算机科学与技术1班 级:13级计本1班学生姓名:李治生学 号求分析 3二、概要设计 4三、详细设计 51、数据库设计 5用户登录界面:7进入主界面: 13四、软件测试 69五、总结 70八、附录:71一、需求分析本系统主要是用来帮助小型超市进行库存治理系统,能够有效的帮助小型超市进行库存管理!其中包括增删改查等根本的应用. 极大的提升了超市的库存治理效率,节省了大量的时间.*二、概要设计1、本系统的每一个功能模块都包含了多个功能.整个系统主要完成对超市商品的日常治理,包括进货治理,库存治理和供给商治理等方面.在功能上系统可以完成对相关信息的浏

2、览、查询、添加、删除、修改等功能.本课题的核心之一是销售治理、库存治理和进货管理三者之间的联系,同时系统有完整的用户治理功能.本系统采用java语言和SQL Server 2021作为开发工具.这种系统优势在于系统比拟简单,但功能强大,扩展性能也比拟好,完全能够处理一般超市的日常任务2、整体分为3个模块货物,供给商,记录每个模块之间相互关联,都有自己的增删改查!3、程序流程图如下:开始三、详细设计1、数据库设计Goods 表:J013-2021T114WFLZS.LZS - dggoods列名数据类用允许MU值intnthartgpunmngchar(10)回jnhijojiamt胡shcLr

3、iiint国zhekoLijiaint国yuliarigint国yuliangyujirigzhiint国gongyingshangndiar(lQ)国ELzs 用户登录名,密码2021-20211114WFLZS.LZS - dboJzs 2021*20211114VJF列名数据类型允许Nul值inamemimanchar(10) nchar(10)Recond表:记录表2021-20211114WFLZS.LZS - dbo.record 20210151114WFL7S.L2列名数据类型允许加.值.曲nvardiar50;Hshangpinmingnvarchar(50)0gongyin

4、gshangnvarchar(50)Scaozuonvarchar(M)0shukanqnvarchar(50)ESupplier (供给商表)2021-202111L4WFLS - dbosupplier2021-2021L114WFLZS.L2S - dbc列名数据类型允许Null值卜 I shijian nvardar(50)Ifflgongyingshangnvardiar(50)国banxidianhuanvardiar(SO)dizhinvardiar(50)回 团youxiangnvdrdiar(50)切beizhunvardiar(50)ffl用户登录界面:设计代码如下:pac

5、kage source;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;SuppressWarnings(serial)public class loginframe extends JFrame implements ActionListener JTextField 用户名;JPasswordField 密码;JButton登录,重置;Box baseBox,box1,box2,box3;/盒式布局ImagePanel p;用于插入图片的面板JSplitPane split;/

6、 拆分窗格Font f;/设置字体JLabel userName,psw;Function wMain;Connection con;Statement sql;ResultSet rs;String dbdriver = com.microsoft.sqlserver.jdbc.SQLServerDriver;String dburl = jdbc:sqlserver:/localhost:1433;DatabaseName=LZS;String user = sa;String pass = 123;public loginframe()setLayout(new FlowLayout()

7、;init();setBounds(130,80,960,600);setVisible(true);setResizable(false);tryClass.forName(dbdriver);catch(ClassNotFoundException classnotfound)System.out.println( 未能找到SQLServerDriver ,请检查是否已加载 SQLServer 驱动);void init()f = new Font(幼圆,Font.BOLD,18);p = new ImagePanel(new ImageIcon(E:/Java 文件 /SuperMark

8、et/picture/1.jpg).getImage();登录 =new JButton(登录);登录.addActionListener(this);重置 =new JButton(重置);用户名 =new JTextField(16);用户名.setFont(f);密码 =new JPasswordField(16);userName = new JLabel(用户名:);userName.setFont(f);psw = new JLabel( 密码:);psw.setFont(f);box1 = Box.createVerticalBox();box1.add(userName);bo

9、x1.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(

10、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 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,false,p,baseBox);split.setDividerLocation(0.5);a

11、dd(split,BorderLayout.PAGE_START);public void actionPerformed(ActionEvent e)if(e.getSource()= 登录)String Uname =用户名.getText().trim();char口psw =密码.getPassword();String passWord = new String(psw);trycon =DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName=LZS,sa,123);System.out.prin

12、tln(数据库连接成功!);sql=con.createStatement();String string = SELECT * FROM Izs WHERE Uname= +Uname+ AND mima = +passWord+;rs = sql.executeQuery(string);if(rs.next()wMain = new Function();wMain.setTitle(超市库存治理系统);wMain.setVisible(true);this.dispose();/ wMain.pack();) else,警告JOptionPane.showMessageDialog(t

13、his,您输入的用密码不正确对话框,JOptionPane.WARNING_MESSAGE);密码.setText(null);密码.requestFocus();)con.close();)catch(SQLException ee)ee.printStackTrace();else if(e.getSource()= 重置 )用户名.setText();密码.setText();进入主界面:第一菜单货物片物也,商记录贺物省理 黜第二菜单供给商第三菜单记录设计代码如下:package source;import java.awt.*;import java.awt.event.*;impor

14、t javax.swing.*;SuppressWarnings(serial) public class Function extends JFrame implements ActionListenerFont f;菜单栏JMenuBar menubar;/ 菜单条JMenu货物供给商,记录;菜单JMenuItem 货物治理,退出,供给商治理,查询记录,进货at划;菜单项/Box box;JLabel label;ImagePanel p;用于插入图片的面板构造函数Function()setLayout(new FlowLayout();init();setTitle(超市库存治理系统);

15、setLocation(20,30);setSize(1200,800);setBounds(130,80,960,600);setVisible(true);setResizable(false);(menubar = new JMenuBar();f = new Font(华文行楷,Font.BOLD,50);Font f2 = new Font( 宋体,0,12);p = new ImagePanel(new ImageIcon(E:Java 文件/SuperMarket/picture/2.jpg).getImage();库房货物治理菜单货物 =new JMenu(货物);货物.set

16、Font(f2);货物治理 =new JMenuItem( 货物治理);货物治理.setFont(f2);货物治理.addActionListener(this);退出=new JMenuItem( 退出);退出.setFont(f2);退出.addActionListener(this);货物.add(货物治理);货物.add(退出);menubar.add(货物);货物供给商菜单供给商 =new JMenu(供给商);供给商.setFont(f2);供给商治理=new JMenuItem( 供给商治理);供给商治理.setFont(f2);供给商治理.addActionListener(t

17、his);供给商.add(供给商治理);menubar.add(供给商);/货物进货、入库和出库记录查询菜单记录 =new JMenu(记录);记录.setFont(f2);查询记录 =new JMenuItem( 查询记录);查询记录.setFont(f2);查询记录.addActionListener(this);进货方案 =new JMenuItem( 进货方案);进货方案.setFont(f2);进货方案.addActionListener(this);记录.add(查询记录);记录.add(进货at划);menubar.add(记录);label = new JLabel(欢送进入超

18、市库存治理系统);label.setFont(f);p.add(label);label.setBounds(300,400,800,200);add(p,BorderLayout.CENTER);setJMenuBar(menubar);)public void actionPerformed(ActionEvent e)if(e.getSource()=供给商治理)SupplierManage smTable = new SupplierManage();smTable.setVisible(true);smTable.pack();)else if(e.getSource()=货物治理)

19、goods goTable = new goods();goTable.setVisible(true);goTable.pack();)else if(e.getSource()=查询记录)record reTable = new record();reTable.setVisible(true);reTable.pack();else if(e.getSource()=进货计戈U )plan plTable = new plan();plTable.setVisible(true);plTable.pack();)else if(e.getSource()= 退出)this.dispose

20、();)进入第一菜单货物治理匚后市庄可吉晓堂晚造物卸2厨记录在此菜单下,可进行货物的增删改查操作,设计代码如下:package source;import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;import javax.swing.table.DefaultTableModel;SuppressWarnings(serial)public class goods extends JFrame implements ActionListenerJTable table;JLabel la

21、bel;JTextField inputText;String name = 货物号,货物名,进货价,售价,折扣价,余量,余量预警值,供 应商;String 口strings = new String8;JButton添加,修改删除,退出,确认修改;JPanel p;JLabel labels = new JLabel8;JTextField fields = new JTextField8;Box baseBox,box1,box2;ImagePanel pp;/用于插入图片的面板JSplitPane split;/ 拆分窗格DefaultTableModel deModel = null;

22、Connection con;Statement sql;ResultSet rs;String dbdriver = com.microsoft.sqlserver.jdbc.SQLServerDriver;String dburl = jdbc:sqlserver:localhost:1433;DatabaseName=LZS;String user = sa;String pass = 123;goods()setLayout(new BorderLayout();init();/Toolkit tk = Toolkit.getDefaultToolkit();/Image img =

23、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(ClassNotFoundException classnotfound) classnotfound.printStackTrace();void init()pp = new

24、 ImagePanel(new ImageIcon(E:/Java 文件/SuperMarket/picture/2.jpg).getImage();添力口 = new JButton(添力口);修改=new JButton(修改);删除=new JButton(删除);退出=new JButton(退出);确认修改 =new JButton(确认修改););label = new JLabel(请输入想要删除或修改的货物名:inputText = new JTextField(8);添力口 .addActionListener(this);修改.addActionListener(this)

25、;删除.addActionListener(this);退出.addActionListener(this);确认修改.addActionListener(this);p = new JPanel();p.add(label);p.add(inputText);p.add(添加);p.add(修改);p.add(删除);p.add(退出);p.add(确认修改);add(p,BorderLayout.SOUTH);labels0 = new JLabel( 货物号);labels1 = new JLabel(货物名);labels2 = new JLabel(进货价);labels3 = ne

26、w JLabel(售价);labels4 = new JLabel(折扣价);labels5 = new JLabel(余量);labels6 = new JLabel( 余量预警值);labels7 = new JLabel( 供给商);for(int i = 0;i8;i+)fieldsi = new JTextField(20);用盒式容器装要录入的数据和标签box1 = Box.createVerticalBox();box1.add(Box.createVerticalStrut(15);for(int i = 0;i8;i+)box1.add(labelsi);box1.add(B

27、ox.createVerticalStrut(35);box2 = Box.createVerticalBox();box2.add(Box.createVerticalStrut(10);for(int i = 0;i8;i+)box2.add(fieldsi);box2.add(Box.createVerticalStrut(14);baseBox = Box.createHorizontalBox();baseBox.add(boxl);baseBox.add(Box.createHorizontalStrut(15);baseBox.add(box2);添加表格add(baseBox,

28、BorderLayout.EAST);deModel = new DefaultTableModel(name,0);table = new JTable(deModel);table.setCellSelectionEnabled(false);table.setEnabled(false);table.setShowHorizontalLines(true);table.setShowVerticalLines(true);add(new JScrollPane(table),BorderLayout.CENTER);split = new JSplitPane(JSplitPane.HO

29、RIZONTAL_SPLIT,false,newJScrollPane(table),baseBox);split.setDividerLocation(0.5);add(split,BorderLayout.CENTER);String sqlString = select * from goods;try(/连接数据库con = DriverManager.getConnection(dburl, user, pass);sql = con.createStatement();JOptionPane.showMessageDialog(this,数据库连接成功!,消息对话框,JOption

30、Pane.INFORMATION_MESSAGE);rs = sql.executeQuery(sqlString);while(rs.next()for(int i = 0;i=0;i-)deModel.removeRow(i);deModel.fireTableStructureChanged();rs = sql.executeQuery(select * from goods);while(rs.next()for(int j = 0;j8;j+)stringsj=rs.getString(j+1);deModel.addRow(strings);deModel.fireTableSt

31、ructureChanged();/ 更新中的数据catch(SQLException ee)ee.printStackTrace();)for(int i = 0;i8;i+)fieldsi.setText();)fields0.requestFocus();设置光标的位置,在第一个文本框上面)else if(e.getSource()= 修改)tryrs = sql.executeQuery(select * from goods);while(rs.next()for(int i = 0;i8;i+)stringsi=rs.getString(i+1);)if(strings1.trim

32、() pareTo(inputText.getText().trim()=0)for(int i = 0;i=0;i-)deModel.removeRow(i);deModel.fireTableStructureChanged();rs = sql.executeQuery(select * from goods);while(rs.next()for(int j = 0;j8;j+)stringsj=rs.getString(j+1);)deModel.addRow(strings);deModel.fireTableStructureChanged();/ 更新中的数据 )catch(S

33、QLException ee)ee.printStackTrace();)for(int i = 0;i=0;i-)deModel.removeRow(i);deModel.fireTableStructureChanged();rs = sql.executeQuery(select * from goods);while(rs.next()for(int i = 0;i8;i+)stringsi=rs.getString(i+1);/把查询的结果填入表格中deModel.addRow(strings);deModel.fireTableStructureChanged();/ 更新中的数据

34、JOptionPane.showMessageDialog(this, 操作成功!,消息对话框,JOptionPane.INFORMATION_MESSAGE);inputText.setText();catch(SQLException ee)ee.printStackTrace();else if(e.getSource()= 退出)this.dispose();)进入第二菜单供给商治理界面:在此界面下可进行供给商的增删改查操作:设计代码如下:package source;import java.awt.*;import java.awt.event.*;import java.sql.*

35、;import javax.swing.*;import javax.swing.table.DefaultTableModel;import java.util.Date;SuppressWarnings(serial)public class SupplierManage extends JFrame implements ActionListenerJTable table;JLabel label;JTextField inputText;String name = 添加时间,供给商,联系 ,地址,邮箱,备注;String strings = new String6;JButton修改

36、,删除,添加,退出,确认修改;JPanel p;JLabel labels = new JLabel5;JTextField fields = new JTextField5;Box baseBox,box1,box2;JSplitPane split;/ 拆分窗格DefaultTableModel deModel = null;Connection con;Statement sql;ResultSet rs;Date date;String dbdriver = com.microsoft.sqlserver.jdbc.SQLServerDriver;String dburl = jdbc

37、:sqlserver:localhost:1433;DatabaseName=LZS;String user = sa;String pass = 123;SupplierManage() setLayout(new BorderLayout();init();Toolkit tk = Toolkit.getDefaultToolkit();Image img = tk.getImage(C:/Documents and Settings/Administrator/workspace/ 招聘求职治理系统/picture/003.jpg);setIconImage(img);setTitle(

38、供给商治理);setBounds(130,80,960,600);setResizable(false);tryClass.forName(dbdriver);catch(ClassNotFoundException classnotfound)classnotfound.printStackTrace();)void init()修改 =new JButton(修改);删除=new JButton(删除);添加 =new JButton(添加);退出=new JButton(退出);确认修改 =new JButton(确认修改);label = new JLabel(请输入想要删除或修改的供

39、给商:);inputText = new JTextField(6);修改.addActionListener(this);删除.addActionListener(this);添力口 .addActionListener(this);退出.addActionListener(this);确认修改.addActionListener(this);p = new JPanel();p.add(label);p.add(inputText);p.add(修改);p.add(删除);p.add(添加);p.add(退出);p.add(确认修改);add(p,BorderLayout.SOUTH);/

40、labels0 = new JLabel( 添加时间);labels0 = newJLabel(供给商);labels1 = newJLabel(联系 );labels2 = newJLabel(地址);labels3 = newJLabel(邮箱);labels4 = newJLabel(备注);for(int i = 0;i5;i+)fieldsi = new JTextField(20);/用盒式容器装要录入的数据和标签box1 = Box.createVerticalBox();box1.add(Box.createVerticalStrut(15);for(int i = 0;i5;

41、i+)box1.add(labelsi);box1.add(Box.createVerticalStrut(70);box2 = Box.createVerticalBox();box2.add(Box.createVerticalStrut(10);for(int i = 0;i5;i+)box2.add(fieldsi);box2.add(Box.createVerticalStrut(60);baseBox = Box.createHorizontalBox();baseBox.add(box1);baseBox.add(Box.createHorizontalStrut(15);bas

42、eBox.add(box2);添加表格add(baseBox,BorderLayout.EAST);deModel = new DefaultTableModel(name,0);table = new JTable(deModel);table.setCellSelectionEnabled(false);table.setEnabled(false);table.setShowHorizontalLines(true);table.setShowVerticalLines(true);add(new JScrollPane(table),BorderLayout.CENTER);split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,false,newJScrollPane(table),baseBox);split.setDividerLocation(0.5);add(split,BorderLayout.CENTER);String sqlString = select * from supplier;try/连接数据库con = DriverManager.getConnection(dburl,user,pass);System.out.p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论