当前位置:   article > 正文

Java 超市管理系统、商品进销存系统 -窗体程序_java超市销售系统

java超市销售系统

今天为大家分享一个java语言编写的超市管理系统,目前系统功能已经很全面,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步

开发环境

开发语言为Java,开发环境Eclipse或者IDEA都可以。数据库采用:MySQL。运行主程序,或者执行打开JAR文件即可以运行本程序。运行程序可以在编辑器中运行 run as applicaiton,或者jar ***.jar运行

系统框架

利用JDK自带的SWING框架开发,不需要安装第三方JAR包。MySQL数据库,纯窗体模式,直接运行Main文件即可以。同时带有详细得设计文档

主要功能

小型商店进销存管理系统主要的功能有以下几点

1 系统登陆:通过输入密码,登陆到系统中来

2 修改密码:对用户的密码进行修改,修改后密码保存到数据库

3 库存查询:查询商品在库存在的信息

4 商品进货:进货信息包含类型、商品名称、数量等信息

5 进货查询:查询历史上的进货信息。进货信息包括:商品类型、商品名称、数量、进货日期

6 商品销售:销售商品中的信息。销售信息包括:商品类型,商品名称,商品数量,单价,总价、销售日期等信息

7 库存缺货补货提醒:当用户登陆进系统后,商品库存小于指定的库存信息的时候,会弹出提醒。

实现效果

1 界面登陆

2 主界面

3 缺货提醒

4 超市进货

5 进货记录查询

6 新货上架

7 物品销售

8 修改密码

核心代码

  1. import java.awt.BorderLayout;
  2. import java.awt.Component;
  3. import java.awt.Container;
  4. import java.awt.Dimension;
  5. import java.awt.Font;
  6. import java.awt.Image;
  7. import java.awt.Insets;
  8. import java.awt.Toolkit;
  9. import java.awt.event.ActionEvent;
  10. import java.awt.event.ActionListener;
  11. import javax.swing.ImageIcon;
  12. import javax.swing.JButton;
  13. import javax.swing.JFrame;
  14. import javax.swing.JPanel;
  15. import javax.swing.SwingConstants;
  16. public class MainFrame extends JFrame{
  17. private static final long serialVersionUID = -8808883923263763897L;
  18. private ClientContext clientContext;
  19. public MainFrame(){
  20. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  21. init();
  22. }
  23. public void init(){
  24. this.setTitle("小型商店进销存管理系统");
  25. this.setSize(550, 400);
  26. this.setContentPane(createContentPane());
  27. int windowWidth = this.getWidth(); //获得窗口宽
  28. int windowHeight = this.getHeight(); //获得窗口高
  29. Toolkit kit = Toolkit.getDefaultToolkit(); //定义工具包
  30. Dimension screenSize = kit.getScreenSize(); //获取屏幕的尺寸
  31. int screenWidth = screenSize.width; //获取屏幕的宽
  32. int screenHeight = screenSize.height; //获取屏幕的高
  33. this.setLocation(screenWidth / 2 - windowWidth / 2, screenHeight / 2 - windowHeight / 2);//设置窗口居中显示
  34. this.setResizable(false);
  35. }
  36. private Container createContentPane() {
  37. JPanel panel = new JPanel(new BorderLayout());
  38. panel.add(createFunctionPanel(), BorderLayout.CENTER);
  39. return panel;
  40. }
  41. private Component createFunctionPanel() {
  42. Image image=new ImageIcon(MainFrame.class.getResource("icon/bg.png")).getImage();
  43. JPanel panel = new BackgroundPanel(image);
  44. Font font16=new Font("微软雅黑", 1, 16);
  45. JButton sale=new JButton("销 售",new ImageIcon(MainFrame.class.getResource("icon/sell.png")));
  46. sale.setHorizontalTextPosition(SwingConstants.CENTER);
  47. sale.setVerticalTextPosition(SwingConstants.BOTTOM);
  48. sale.setBorderPainted(false);
  49. sale.setFocusPainted(false);
  50. sale.setContentAreaFilled(false);
  51. sale.setFocusable(true);
  52. sale.setMargin(new Insets(180, 10, 0, 30));
  53. sale.setFont(font16);
  54. sale.addActionListener(new ActionListener() {
  55. @Override
  56. public void actionPerformed(ActionEvent e) {
  57. clientContext.showSellFrame();
  58. }
  59. });
  60. panel.add(sale);
  61. JButton purchases=new JButton("进 货",new ImageIcon(MainFrame.class.getResource("icon/inventory.png")));
  62. purchases.setHorizontalTextPosition(SwingConstants.CENTER);
  63. purchases.setVerticalTextPosition(SwingConstants.BOTTOM);
  64. purchases.setBorderPainted(false);
  65. purchases.setFocusPainted(false);
  66. purchases.setContentAreaFilled(false);
  67. purchases.setFocusable(true);
  68. purchases.setMargin(new Insets(180, 10, 0, 30));
  69. purchases.setFont(font16);
  70. purchases.addActionListener(new ActionListener() {
  71. @Override
  72. public void actionPerformed(ActionEvent e) {
  73. clientContext.showOrHidePurchaseFrame(true);
  74. }
  75. });
  76. panel.add(purchases);
  77. JButton stock=new JButton("库 存",new ImageIcon(MainFrame.class.getResource("icon/storage.png")));
  78. stock.setHorizontalTextPosition(SwingConstants.CENTER);
  79. stock.setVerticalTextPosition(SwingConstants.BOTTOM);
  80. stock.setBorderPainted(false);
  81. stock.setFocusPainted(false);
  82. stock.setContentAreaFilled(false);
  83. stock.setFocusable(true);
  84. stock.setMargin(new Insets(180, 10, 0, 30));
  85. stock.setFont(font16);
  86. stock.addActionListener(new ActionListener() {
  87. @Override
  88. public void actionPerformed(ActionEvent e) {
  89. clientContext.showOrHideStorageFrame(true);
  90. }
  91. });
  92. panel.add(stock);
  93. JButton sellHistoryBtn=new JButton("销售记录",new ImageIcon(MainFrame.class.getResource("icon/summary.png")));
  94. sellHistoryBtn.setHorizontalTextPosition(SwingConstants.CENTER);
  95. sellHistoryBtn.setVerticalTextPosition(SwingConstants.BOTTOM);
  96. sellHistoryBtn.setBorderPainted(false);
  97. sellHistoryBtn.setFocusPainted(false);
  98. sellHistoryBtn.setContentAreaFilled(false);
  99. sellHistoryBtn.setFocusable(true);
  100. sellHistoryBtn.setMargin(new Insets(180, 10, 0, 10));
  101. sellHistoryBtn.setFont(font16);
  102. sellHistoryBtn.addActionListener(new ActionListener() {
  103. @Override
  104. public void actionPerformed(ActionEvent e) {
  105. clientContext.showSellHistoryFrame();
  106. }
  107. });
  108. panel.add(sellHistoryBtn);
  109. JButton setting=new JButton("修改密码",new ImageIcon(MainFrame.class.getResource("icon/setting.png")));
  110. setting.setHorizontalTextPosition(SwingConstants.CENTER);
  111. setting.setVerticalTextPosition(SwingConstants.BOTTOM);
  112. setting.setBorderPainted(false);
  113. setting.setFocusPainted(false);
  114. setting.setContentAreaFilled(false);
  115. setting.setFocusable(true);
  116. setting.setMargin(new Insets(180, 10, 0, 10));
  117. setting.setFont(font16);
  118. setting.addActionListener(new ActionListener() {
  119. @Override
  120. public void actionPerformed(ActionEvent e) {
  121. clientContext.showModifyPwdFrame(true);
  122. }
  123. });
  124. panel.add(setting);
  125. return panel;
  126. }
  127. public static void main(String[] args) {
  128. MainFrame mf = new MainFrame();
  129. mf.init();
  130. mf.setVisible(true);
  131. }
  132. public ClientContext getClientContext() {
  133. return clientContext;
  134. }
  135. public void setClientContext(ClientContext clientContext) {
  136. this.clientContext = clientContext;
  137. }
  138. }

项目总结

开发一套系统,最重要的是细心,并不是一定要做到面面俱到,在准备工作中要正确分析社会需求了解现实应用,画出流程图,把大体框架做好,然后再逐一细化。我们不可能做到面面俱到,但一定要做到步步扎实,作为一个程序编程人员,要保持清醒的头脑,以现实为依据,让自己的每一行代码都能实现自己的意义。 通过这次课程设计,我收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/412586
推荐阅读
相关标签
  

闽ICP备14008679号