前言:

本项目是使用Java swing开发,可实现超市管理系统商品列表信息查询、添加商品信息和修改商品管理以及删除商品信息和安装商品信息查询等功能。界面设计和功能比较简单基础、适合作为Java课设设计以及学习技术使用。

摘要:

随着小超市规模的发展不断扩大, 商品数量急剧增加, 有关商品的各种信息量也成倍增长。 超市时时刻刻都需要对商品各种信息进行统计分析。 而大型的超市管理系统功能过于强大而造成操作繁琐降低了小超市的工作效率。 超市管理系统是市场上最流行的超市上常用的系统之一, 由于刚学Java知识、所有功能设计的比较简单、只有商品信息的增删改查。实现对商品信息全面、 动态、及时的管理。本文系统的分析了软件开发的背景以过程;首先介绍了软件的开发环境, 其次介绍了本软件的详细设计过程: 数据库的设计、各个模块的设计和实现,以及具体界面的设计和功能。超市库存管理系统是基于 Java eclipse 作为开发工具 , Mysql 作为后台数据库支持。超市库存管理系统开发主要是界面程序的开发、数据库的建立、数据库的维护。应用程序功能完善,界面人机交互要好,而且操作简单。同时 JAVASwing语言简单,在较短的时间内能够开发出使用性强、 功能完善, 易于操作的程序, 也能实现与数据库的连接。

主要模块:

商品列表数据展示、商品信息添加、商品信息修改、商品信息删除、按照商品名称查询商品信息

功能截图: 

查询商品列表信息

添加商品信息:

修改商品信息:

删除商品信息:

删除之后需要刷新一下列表数据

编号查询商品信息:

部分关键代码:

主页功能:

public class GoodsManage extends JFrame {private JTextField textField;Select select = new Select();Updata updata = new Updata();Object[] header= {"商品编号","商品名称","数量","单价"};String sql = "SELECT goodsID,goodsname,num,price FROM goods";Object[][] data= select.getGoods(sql);DefaultTableModel df = new DefaultTableModel(data, header);int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;public GoodsManage() {super("商品管理系统");this.setBounds(0, 0, 700, 450);this.setLocationRelativeTo(null);//让窗口在屏幕中间显示this.setResizable(false);//让窗口大小不可改变getContentPane().setLayout(null);JTable jTable = new JTable(df);JScrollPane jsp=new JScrollPane(jTable,v,h);jsp.setBounds(10, 10, 515, 320);getContentPane().add(jsp);JButton button_1 = new JButton("显示所有商品");button_1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String sql = "SELECT goodsID,goodsname,num,price FROM goods";Object[][] data = Select.getGoods(sql);df.setDataVector(data, header);}});button_1.setBounds(535, 80, 127, 30);getContentPane().add(button_1);JButton button_2 = new JButton("修改商品");button_2.setBounds(535, 140, 127, 30);getContentPane().add(button_2);button_2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if (jTable.getSelectedColumn()<0) {JOptionPane.showMessageDialog(null, "请选择要修改的数据!");} else {int goodsID = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 0).toString());String name = jTable.getValueAt(jTable.getSelectedRow(), 1).toString();int num = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 2).toString());String price = jTable.getValueAt(jTable.getSelectedRow(), 3).toString();Goods goods = new Goods(goodsID,name,num,price);GoodsXG goodsXG = new GoodsXG(goods);goodsXG.setVisible(true);}}});JButton button_3 = new JButton("删除商品");button_3.setBounds(535, 200, 127, 30);getContentPane().add(button_3);button_3.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if (jTable.getSelectedColumn()<0) {JOptionPane.showMessageDialog(null, "请选中要删除的数据!");} else {int goodsID = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 0).toString());String sql="delete from goods where goodsid="+goodsID;int result = updata.addData(sql);if (result>0) {JOptionPane.showMessageDialog(null, "删除成功!");JOptionPane.showMessageDialog(null, "记得刷新一下哦!");} else {JOptionPane.showMessageDialog(null, "删除失败!");}}}});JButton button_4 = new JButton("添加商品");button_4.setBounds(535, 258, 127, 30);getContentPane().add(button_4);button_4.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {GoodsADD goodsAdd = new GoodsADD();goodsAdd.setVisible(true);}});JLabel label = new JLabel("商品编号:");label.setBounds(40, 354, 112, 32);getContentPane().add(label);textField = new JTextField();textField.setBounds(154, 358, 127, 26);getContentPane().add(textField);textField.setColumns(10);JButton button = new JButton("按编号查询");button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {String sql = "SELECT goodsID,goodsname,num,price FROM goods WHERE goodsid LIKE '%"+textField.getText()+"%'";Object[][] data = Select.getGoods(sql);df.setDataVector(data, header);}});button.setBounds(305, 355, 112, 30);getContentPane().add(button);this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {super.windowClosing(e);//加入动作GoodsManagement m = new GoodsManagement();m.setVisible(true);}});}public static void main(String[] args) {GoodsManage t = new GoodsManage();t.setVisible(true);}
}

添加商品信息:

public class GoodsADD extends JFrame {private JTextField id,name,num,price;private JButton button;private JButton button_1;public GoodsADD() {super("商品管理系统");this.setBounds(0, 0, 400, 450);this.setLocationRelativeTo(null);//让窗口在屏幕中间显示this.setResizable(false);//让窗口大小不可改变getContentPane().setLayout(null);JLabel label = new JLabel("商品编号:");label.setBounds(85, 89, 87, 22);getContentPane().add(label);id = new JTextField();id.setBounds(147, 90, 142, 21);getContentPane().add(id);id.setColumns(10);JLabel label_1 = new JLabel("商品名称");label_1.setBounds(85, 139, 87, 22);getContentPane().add(label_1);name = new JTextField();name.setColumns(10);name.setBounds(147, 140, 142, 21);getContentPane().add(name);JLabel label_2 = new JLabel("数量:");label_2.setBounds(85, 193, 87, 22);getContentPane().add(label_2);num = new JTextField();num.setColumns(10);num.setBounds(147, 194, 142, 21);getContentPane().add(num);JLabel label_3 = new JLabel("单价:");label_3.setBounds(85, 241, 87, 22);getContentPane().add(label_3);price = new JTextField();price.setColumns(10);price.setBounds(147, 242, 142, 21);getContentPane().add(price);button = new JButton("确定");button.setBounds(78, 317, 93, 23);getContentPane().add(button);button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {String addId = id.getText();String addName = name.getText();String addNum = num.getText();String addPrice = num.getText();if (addName.equals("")||addName.equals("")||addNum.equals("")||addPrice.equals("")) {JOptionPane.showMessageDialog(null, "请完整输入要添加的数据");} else {String sql="INSERT INTO goods VALUES("+addId+",'"+addName+"','"+addNum+"','"+addPrice+"')";int result = Updata.addData(sql);if (result>0) {JOptionPane.showMessageDialog(null, "添加成功!");JOptionPane.showMessageDialog(null, "记得刷新一下哦!");dispose();
//                      GoodsManage i = new GoodsManage();
//                      i.setVisible(true);} else {JOptionPane.showMessageDialog(null, "添加失败!");}}}});button_1 = new JButton("取消");button_1.setBounds(208, 317, 93, 23);getContentPane().add(button_1);button_1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {dispose();}});}
}

数据库设计:

商品表:

CREATE TABLE `NewTable` (
`goodsID`  int(11) NOT NULL ,
`goodsName`  varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`num`  int(11) NOT NULL ,
`price`  decimal(10,4) NOT NULL ,
PRIMARY KEY (`goodsID`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
ROW_FORMAT=COMPACT
;

备注:项目来于网络、作者整理优化测试编写文档、若有侵权联系删除

总结:

通过这次课程设计。我学到了许多令我受益匪浅的知识。感觉java的界面设计和 mfc差不多。只是java没有可视化的界面做起来太累了。其他主要是类和对象的问题。实现起来还是挺简单的。综合了根据超市系统的实际情况的特点, 虽然用户界面和功能设计比较一般,但操作使用还是方便。满足学生学习的一个基本状态。了解Java对象和swing窗口化图形化编程的特性、由于时间仓促,只做了商品的CRUD、需要其他功能的可以自行设计和添加上、作为学生学习参考以及课程设计还是不错的选择。

完整源码下载地址

JavaSwing系列项目推荐:

JavaSwing ATM取款机系统的设计和实现

JavaSwing的经典坦克大战游戏设计实现

JavaSwing+mysql的图书管理系统设计和实现

JavaSwing+Mysql的酒店管理系统设计和实现

javaSwing+文本存储的学生信息管理系统设计实现

JavaSwing+mysql的学生社团管理系统设计和实现

打卡JavaSwing项目更新 7 / 100篇

大家可以点赞、收藏、关注、评论我啦 


基于JavaSwing+Mysql的超市商品管理系统设计和实现相关推荐

  1. 基于Mysql+JavaSwing的超市商品管理系统设计与实现

    文章来源: 学习通http://www.bdgxy.com/ 目录 1.功能介绍 2.关键代码 2.1 主页功能 2.2 添加商品信息 2.3 数据库设计 商品表 前言: 随着小超市规模的发展不断扩大 ...

  2. 【php毕业设计】基于php+mysql+apache的教材管理系统设计与实现(毕业论文+程序源码)——教材管理系统

    基于php+mysql+apache的教材管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于php+mysql+apache的教材管理系统设计与实现,文章末尾附有本毕业设计的论文和源 ...

  3. JAVA编写学校超市选址问题_中小型超市商品管理系统设计与实现【开题报告+文献综述+毕业论文】.docx...

    本科毕业论文开题报告信息管理与信息系统中 小 型 超 市 商 品 管 理 系 统 设 计 与 实 现一.立论依据 1.研究意义.预期目标随着中国经济的不断发展,计算机的普及率越来越高,超市的管理手段发 ...

  4. 深析超市商品管理系统设计

    题目描述 超市中商品分为四类,分别是食品.化妆品.日用品和饮料.每种商品都包含商品名称.价格.库存量和生产厂家.品牌等信息. 主要完成对商品的销售.统计和简单管理. 功能要求 1.销售功能(客户):购 ...

  5. C++超市商品管理系统设计最新版

    超市商品管理系统 一.问题描述及功能要求 1.提供商品系统的添加.删除.编辑.显示等功能. 2.同类系统多数使用结构体数组来操作数据,本系统使用链表结构操作数据,提高了数据处理的效率. 二.代码实现 ...

  6. 超市商品管理系统设计

    1.问题描述 超市中商品分为四类,分别是食品.化妆品.日用品和饮料.每种商品都包含商品名称.价格.库存量和生产厂家.品牌等信息. 主要完成对商品的销售.统计和简单管理. 2.功能要求 (1)销售功能( ...

  7. 基于PHP+MySQL的学生成绩管理系统设计与实现 报告+项目源码及数据库文件+演示视频

    目录 [PHP]学生成绩管理系统 1 前言 2 功能模块 2.1学生模块 2.2 教师模块 2.3 主要的文件结构 3 界面设计 3.1 登录界面 3.2 学生主页(我的成绩) 3.3 各科成绩 3. ...

  8. 基于PHP+MySQL的学生档案管理系统设计与实现

    一.项目介绍 3 1.1项目背景 3 1.2项目目的 3 二.功能介绍 3 2.1需求分析 3 2.2功能模块图 4 2.3详细功能实施细节 5 三.数据字典 5 3.1关系模式 5 3.2数据字典 ...

  9. 基于JavaSwing+Mysql的仓库管理系统设计和实现

    前言:           本项目是使用Java swing开发,可实现仓库管理系统登陆/注册/重置.登录后可以进行系统管理.原料管理.成品管理.管理记录以及注销退出等几大模块.界面设计比较简介.适合 ...

  10. 基于JavaSwing+mysql的图书管理系统设计和实现

    前言: 项目是使用Java swing开发,可实现基础数据维护.图书类型管理和维护.图书信息管理和维护.注销退出.关于作者简介等功能.界面设计比较简介.适合作为Java课设设计以及学习技术使用. 引言 ...

最新文章

  1. 首发 | 13篇京东CVPR 2019论文!你值得一读~ 技术头条
  2. ylbtech-数据库设计与优化-对作为复选框/单选列表的集合表的设计
  3. 《数据中台实战》:如何通过标签平台圈出产品高价值用户?
  4. 16.异常处理机制:exception
  5. 秒杀核心设计(减库存部分)-防超卖与高并发
  6. sql2000-2 4/19
  7. 推荐5个应用 jQuery 特效的精美网站
  8. statusBar——状态栏
  9. 根据已有的WSDL文件进行WebService服务开发和部署
  10. linux 网卡序列号,linux查看网卡地址和硬盘序列号
  11. 如何配置Sql Server 2005之ODBC数据源连接
  12. 有什么可以测试耳机性能的软件吗,测试耳机性能好坏的简单方法
  13. IPC网络高清摄像机基础知识4(Sensor信号输出YUV、RGB、RAW DATA、JPEG 4种方式区别)
  14. 中国拖车洒水器市场趋势报告、技术动态创新及市场预测
  15. 多元有序logistic回归分析_SPSS:二元Logistic回归中自变量的处理和解读——有序多分类变量的处理...
  16. %大赛D--链式前向星+SPFA(BFS)+各种数据类型+各种最短路复习
  17. CSS错误 Do not use empty rulesets
  18. 搜索引擎关键词优化可以怎么做?
  19. Netty的深入浅出--70.NIO总结及各方法回顾
  20. 安卓APP跟iOSAPP之间的对比

热门文章

  1. 矿山安全监测预警与综合管理信息系统解决方案
  2. HttpClient登陆开心网
  3. QuickCHM V2.6注册码
  4. 7-2 哥尼斯堡的“七桥问题” (25分)
  5. HDU1172 猜数字
  6. P2P加速系统解决方案
  7. C++程序练习-1008:Maya Calendar-玛雅日历
  8. 西工大机考《 合同法》大作业网考
  9. 渗透测试-伪装隐藏与清理痕迹手段
  10. 丰田造世界首辆意志控制变速自行车