Eclipse+Java+Swing+Mysql实现仓库管理系统

举报
水坚石青 发表于 2021/10/30 00:33:14 2021/10/30
【摘要】 目录  一、系统介绍 1.软件环境 2.系统功能 3.数据库 4.工程截图 二、系统展示 1.用户-登录页 2.用户-登录成功 3.用户-主页面 4.用户-用户管理-个人信息 5.用户-用户管理-修改密码 6.用户-商品管理-商品信息 7.用户-仓库管理-仓库信息 8.管理员-登录页 ...

目录

 一、系统介绍

1.软件环境

2.系统功能

3.数据库

4.工程截图

二、系统展示

1.用户-登录页

2.用户-登录成功

3.用户-主页面

4.用户-用户管理-个人信息

5.用户-用户管理-修改密码

6.用户-商品管理-商品信息

7.用户-仓库管理-仓库信息

8.管理员-登录页

9.管理员-主页面

10.管理员-用户管理-添加用户

11.管理员-用户管理-用户信息

12.管理员-用户管理-用户删除

13.管理员-用户管理-修改密码

14.管理员-商品管理-商品添加

15.管理员-商品管理-商品删除

16.管理员-商品管理-商品更新

17.管理员-仓库管理-仓库添加

18.管理员-仓库管理-仓库删除

19.管理员-仓库管理-仓库更新

三、部分代码

LoginFrame.java

IndexAdminFrame.java

IndexUserFrame.java

Goodsmanagement.java

GoodsmanagementImp.java

四、其他

1.其他系统实现

1.JavaWeb系统系列实现

2.JavaSwing系统系列实现

2.获取源码

3.备注

4.支持博主


 一、系统介绍


1.软件环境

开发工具:Eclipse2018.3
JDK版本:jdk1.8
Mysql版本:8.0.13

2.系统功能

1.用户

1.登录系统

2.用户管理

查看个人信息,修改密码。

3.商品管理

查看商品信息

4.仓库管理

查看仓库信息

2.管理员

1.登录系统

2.用户管理

查看个人信息,用户信息的增删查,修改密码。

3.商品管理

商品信息的增删改查

4.仓库管理

仓库信息的增删改查

3.数据库


  
  1. /*
  2. Navicat Premium Data Transfer
  3. Source Server : MySQL
  4. Source Server Type : MySQL
  5. Source Server Version : 80013
  6. Source Host : localhost:3306
  7. Source Schema : swing_warehouse
  8. Target Server Type : MySQL
  9. Target Server Version : 80013
  10. File Encoding : 65001
  11. Date: 26/06/2021 16:42:23
  12. */
  13. SET NAMES utf8mb4;
  14. SET FOREIGN_KEY_CHECKS = 0;
  15. -- ----------------------------
  16. -- Table structure for goods
  17. -- ----------------------------
  18. DROP TABLE IF EXISTS `goods`;
  19. CREATE TABLE `goods` (
  20. `id` int(11) NOT NULL AUTO_INCREMENT,
  21. `goodsname` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  22. `goodsstyle` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  23. `goodsnumber` int(11) NOT NULL,
  24. `storageID` int(11) NOT NULL,
  25. PRIMARY KEY (`id`) USING BTREE
  26. ) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
  27. -- ----------------------------
  28. -- Records of goods
  29. -- ----------------------------
  30. INSERT INTO `goods` VALUES (1, '农夫山泉', '矿泉水', 10, 1);
  31. INSERT INTO `goods` VALUES (4, '冰峰', '饮料', 50, 1);
  32. INSERT INTO `goods` VALUES (6, '百事可乐', '饮料', 20, 2);
  33. -- ----------------------------
  34. -- Table structure for storage
  35. -- ----------------------------
  36. DROP TABLE IF EXISTS `storage`;
  37. CREATE TABLE `storage` (
  38. `id` int(11) NOT NULL AUTO_INCREMENT,
  39. `storagename` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  40. `storagestyle` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  41. `storageID` int(11) NOT NULL,
  42. PRIMARY KEY (`id`, `storageID`) USING BTREE
  43. ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
  44. -- ----------------------------
  45. -- Records of storage
  46. -- ----------------------------
  47. INSERT INTO `storage` VALUES (1, '日常用品', '存货', 1);
  48. INSERT INTO `storage` VALUES (2, '饮品副食', '存货', 3);
  49. INSERT INTO `storage` VALUES (3, '电子电器', '出货', 2);
  50. -- ----------------------------
  51. -- Table structure for users
  52. -- ----------------------------
  53. DROP TABLE IF EXISTS `users`;
  54. CREATE TABLE `users` (
  55. `id` int(11) NOT NULL AUTO_INCREMENT,
  56. `username` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  57. `userpwd` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  58. `flag` int(11) NOT NULL,
  59. PRIMARY KEY (`id`) USING BTREE
  60. ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
  61. -- ----------------------------
  62. -- Records of users
  63. -- ----------------------------
  64. INSERT INTO `users` VALUES (1, 'admin', 'admin', 2);
  65. INSERT INTO `users` VALUES (2, 'user', '123456', 1);
  66. SET FOREIGN_KEY_CHECKS = 1;

4.工程截图

二、系统展示

1.用户-登录页

2.用户-登录成功

3.用户-主页面

4.用户-用户管理-个人信息

5.用户-用户管理-修改密码

6.用户-商品管理-商品信息

7.用户-仓库管理-仓库信息

8.管理员-登录页

9.管理员-主页面

10.管理员-用户管理-添加用户

11.管理员-用户管理-用户信息

12.管理员-用户管理-用户删除

13.管理员-用户管理-修改密码

14.管理员-商品管理-商品添加

15.管理员-商品管理-商品删除

16.管理员-商品管理-商品更新

17.管理员-仓库管理-仓库添加

18.管理员-仓库管理-仓库删除

19.管理员-仓库管理-仓库更新

三、部分代码

LoginFrame.java


  
  1. package net.wms.view;
  2. import java.awt.Font;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.sql.SQLException;
  6. import javax.swing.ImageIcon;
  7. import javax.swing.JButton;
  8. import javax.swing.JComboBox;
  9. import javax.swing.JComponent;
  10. import javax.swing.JFrame;
  11. import java.awt.Image;
  12. import java.awt.Toolkit;
  13. import javax.swing.JLabel;
  14. import javax.swing.JOptionPane;
  15. import javax.swing.JPasswordField;
  16. import javax.swing.JTextField;
  17. import net.wms.dao.LoginUseImp;
  18. import net.wms.model.User;
  19. /**
  20. * 登陆界面 1、创建登陆界面,初始化上面的对象 2、美化登陆界面,设置各个对象的大小、位置、字体以及界面的背景 3、给按钮设置监听事件
  21. *
  22. */
  23. public class LoginFrame {
  24. // 初始化字体
  25. Font d = new Font("楷体", Font.BOLD, 36);
  26. Font f = new Font("楷体", Font.BOLD, 18);
  27. // 初始化对象
  28. JFrame logingui = new JFrame("仓库管理系统");
  29. JLabel userlogin = new JLabel("用户登录");
  30. JLabel username = new JLabel("用户名:");
  31. JLabel password = new JLabel("密 码:");
  32. JLabel usertyle = new JLabel("用户类型:");
  33. JTextField name = new JTextField();
  34. JTextField pwd = new JPasswordField();
  35. JComboBox box = new JComboBox(new String[] { "管理员", "普通用户" });
  36. JButton login = new JButton("登陆");
  37. // Image icon = Toolkit.getDefaultToolkit().getImage("F:\\仓库管理系统\\后台.jpg");
  38. // 给User类初始化对象user
  39. User user = new User();
  40. public void LoginGui() {
  41. // 后台运行时图标
  42. // logingui.setIconImage(icon);
  43. // 设置对象
  44. logingui.setBounds(600, 300, 600, 420);
  45. // 设置退出
  46. logingui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  47. // 取消框架格式
  48. logingui.setLayout(null);
  49. // 设置位置、大小和字体
  50. userlogin.setBounds(220, 30, 200, 50);
  51. userlogin.setFont(d);
  52. username.setBounds(180, 100, 100, 30);
  53. username.setFont(f);
  54. password.setBounds(180, 140, 100, 30);
  55. password.setFont(f);
  56. usertyle.setBounds(180, 180, 100, 30);
  57. usertyle.setFont(f);
  58. name.setBounds(280, 100, 180, 30);
  59. name.setFont(f);
  60. pwd.setBounds(280, 140, 180, 30);
  61. box.setBounds(280, 180, 125, 30);
  62. box.setFont(f);
  63. login.setBounds(235, 260, 80, 30);
  64. login.setFont(f);
  65. // 添加对象
  66. logingui.add(userlogin);
  67. logingui.add(username);
  68. logingui.add(password);
  69. logingui.add(usertyle);
  70. logingui.add(name);
  71. logingui.add(pwd);
  72. logingui.add(box);
  73. logingui.add(login);
  74. // 窗体可视化
  75. logingui.setVisible(true);
  76. // 居中显示
  77. logingui.setLocationRelativeTo(null);
  78. // 设置登录图形界面的背景图片
  79. ((JComponent) logingui.getContentPane()).setOpaque(false); // 将框架强转为容器
  80. // ImageIcon img = new ImageIcon("Images//登录背景.jpg"); // 传入背景图片路径
  81. // JLabel background = new JLabel(img);// 将图片放进标签里
  82. // logingui.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));//
  83. // 将标签放进容器里
  84. // background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());//
  85. // 设置标签的大小
  86. // 给下拉框设置选择监听事件
  87. box.addActionListener(new ActionListener() {
  88. @Override
  89. public void actionPerformed(ActionEvent e) {
  90. // 判断选择选项是否和下拉框数据一致
  91. if (box.getSelectedItem().equals("管理员")) {
  92. // 设置标志量的值
  93. user.setFlag("2");
  94. } else {
  95. user.setFlag("1");
  96. }
  97. }
  98. });
  99. // 给登录按钮设置监听事件
  100. login.addActionListener(new ActionListener() {
  101. @Override
  102. public void actionPerformed(ActionEvent e) {
  103. // 提取文本框里的用户名和密码
  104. String name_text = name.getText();
  105. String pwd_text = pwd.getText();
  106. // 将得到的值存入user对象里面
  107. user.setusername(name_text);
  108. user.setuserpwd(pwd_text);
  109. // 给登陆接口实现类初始化对象
  110. LoginUseImp l = new LoginUseImp();
  111. // 获取标志量
  112. String state = user.getFlag();
  113. // 判断标志量,设置文本框的默认值为管理员
  114. if (state != "1" && state != "2") {
  115. state = "2";
  116. }
  117. // 判断文本框值是不是管理员
  118. if (state == "2") {
  119. try {
  120. // 执行sql语句,进行数据库添加
  121. boolean flag = l.Query(user,
  122. "select * from users where username=? and userpwd=? and flag=" + state);
  123. if (flag) {
  124. // 文本提示框
  125. JOptionPane.showMessageDialog(null, "登陆成功");
  126. // 界面转换,隐藏原来界面
  127. logingui.setVisible(false);
  128. // 构造新的界面
  129. new IndexAdminFrame(name_text);
  130. } else {
  131. // 文本提示框
  132. JOptionPane.showMessageDialog(null, "登陆失败,请检查用户名和密码");
  133. // 设置用户名框和密码框的值为空
  134. name.setText("");
  135. pwd.setText("");
  136. }
  137. } catch (SQLException e1) {
  138. e1.printStackTrace();
  139. }
  140. // 判断是不是普通用户
  141. } else if (state == "1") {
  142. try {
  143. // 执行sql语句
  144. boolean flag = l.Query(user,
  145. "select * from users where username=? and userpwd=? and flag=" + state);
  146. if (flag) {
  147. JOptionPane.showMessageDialog(null, "登陆成功");
  148. logingui.setVisible(false);
  149. new IndexUserFrame(name_text);
  150. } else {
  151. JOptionPane.showMessageDialog(null, "登陆失败,请检查用户名和密码");
  152. name.setText("");
  153. pwd.setText("");
  154. }
  155. } catch (SQLException e1) {
  156. e1.printStackTrace();
  157. }
  158. }
  159. }
  160. });
  161. }
  162. // 整个程序执行的入口
  163. public static void main(String[] args) {
  164. LoginFrame l = new LoginFrame();
  165. l.LoginGui();
  166. }
  167. }

IndexAdminFrame.java


  
  1. package net.wms.view;
  2. import java.awt.Font;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.util.Random;
  6. import javax.swing.ImageIcon;
  7. import javax.swing.JComponent;
  8. import javax.swing.JFrame;
  9. import javax.swing.JLabel;
  10. import javax.swing.JMenu;
  11. import javax.swing.JMenuBar;
  12. import javax.swing.JMenuItem;
  13. public class IndexAdminFrame {
  14. // 声明对象
  15. public JFrame index;
  16. private JMenuBar management;
  17. private JMenu user;
  18. private JMenu goods;
  19. private JMenu storage;
  20. private JMenuItem exit;
  21. private JMenuItem useradd;
  22. private JMenuItem userdelete;
  23. private JMenuItem userupdate;
  24. private JMenuItem userselect;
  25. private JMenuItem goodsadd;
  26. private JMenuItem goodsdelete;
  27. private JMenuItem goodsupdate;
  28. private JMenuItem storageadd;
  29. private JMenuItem storagedelete;
  30. private JMenuItem storageupdate;
  31. Font f = new Font("楷体", Font.BOLD, 15);
  32. // 构造函数
  33. public IndexAdminFrame(String name) {
  34. indexadmin();
  35. // 菜单的添加
  36. // 给用户菜单添加条目
  37. user.add(useradd);
  38. user.add(userselect);
  39. user.add(userdelete);
  40. user.add(userupdate);
  41. user.add(exit);
  42. // 给商品菜单添加条目
  43. goods.add(goodsadd);
  44. goods.add(goodsdelete);
  45. goods.add(goodsupdate);
  46. // 给仓库菜单添加条目
  47. storage.add(storageadd);
  48. storage.add(storagedelete);
  49. storage.add(storageupdate);
  50. // 将菜单添加到菜单栏里
  51. management.add(user);
  52. management.add(goods);
  53. management.add(storage);
  54. init(name);
  55. action(name);
  56. }
  57. private void init(String name) {
  58. // 初始化框架
  59. index = new JFrame("欢迎管理员 " + name + " 使用本系统");
  60. // 设置框架大小及位置
  61. index.setBounds(500, 100, 600, 500);
  62. index.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  63. // 将菜单栏设置进框架
  64. index.setJMenuBar(management);
  65. // 清空框架格式
  66. index.setLayout(null);
  67. // 将框架转换为容器
  68. ((JComponent) index.getContentPane()).setOpaque(false);
  69. // // 声明图片对象
  70. // ImageIcon img = null;
  71. // // 产生随机数
  72. // Random r = new Random();
  73. // int i = r.nextInt(5);
  74. // 用随机数的值获取不同的图片
  75. // switch (i) {
  76. // case 0:
  77. // img = new ImageIcon("Images//主背景.jpg");
  78. // break;
  79. // case 1:
  80. // img = new ImageIcon("Images//主背景1.jpg");
  81. // break;
  82. // case 2:
  83. // img = new ImageIcon("Images//主背景2.jpg");
  84. // break;
  85. // case 3:
  86. // img = new ImageIcon("Images//主背景3.jpg");
  87. // break;
  88. // case 4:
  89. // img = new ImageIcon("Images//主背景4.jpg");
  90. // break;
  91. // default:
  92. // break;
  93. // }
  94. // 初始化标签
  95. // JLabel background = new JLabel(img);
  96. // // 将标签添加进框架index(添加进容器中)
  97. // index.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
  98. // // 设置标签大小
  99. // background.setBounds(0, 20, img.getIconWidth(), img.getIconHeight());
  100. // // 设置可视化
  101. index.setVisible(true);
  102. // 居中显示
  103. index.setLocationRelativeTo(null);
  104. }
  105. public void indexadmin() {
  106. // 对象初始化以及设置字体
  107. management = new JMenuBar();
  108. // 菜单初始化
  109. user = new JMenu(" 用户管理");
  110. user.setFont(f);
  111. goods = new JMenu(" 商品管理");
  112. goods.setFont(f);
  113. storage = new JMenu(" 仓库管理");
  114. storage.setFont(f);
  115. // 菜单条目初始化
  116. exit = new JMenuItem("更换用户");
  117. exit.setFont(f);
  118. useradd = new JMenuItem("添加用户");
  119. useradd.setFont(f);
  120. userdelete = new JMenuItem("删除用户");
  121. userdelete.setFont(f);
  122. userupdate = new JMenuItem("密码修改");
  123. userupdate.setFont(f);
  124. userselect = new JMenuItem("查询用户");
  125. userselect.setFont(f);
  126. goodsadd = new JMenuItem("商品添加");
  127. goodsadd.setFont(f);
  128. goodsdelete = new JMenuItem("商品删除");
  129. goodsdelete.setFont(f);
  130. goodsupdate = new JMenuItem("商品更新");
  131. goodsupdate.setFont(f);
  132. storageadd = new JMenuItem("仓库添加");
  133. storageadd.setFont(f);
  134. storagedelete = new JMenuItem("仓库删除");
  135. storagedelete.setFont(f);
  136. storageupdate = new JMenuItem("仓库更新");
  137. storageupdate.setFont(f);
  138. }
  139. // 给所有的菜单条目设置监听事件
  140. private void action(final String name) {
  141. exit.addActionListener(new ActionListener() {
  142. @Override
  143. public void actionPerformed(ActionEvent e) {
  144. // 界面转换
  145. // 将原来页面设置为不可见
  146. index.setVisible(false);
  147. // 调用函数转到登陆页面
  148. LoginFrame.main(null);
  149. }
  150. });
  151. useradd.addActionListener(new ActionListener() {
  152. @Override
  153. public void actionPerformed(ActionEvent e) {
  154. // 界面转换
  155. // 将原来页面设置为不可见
  156. index.setVisible(false);
  157. // 用构造函数获取新页面
  158. new UserAddFrame(name);
  159. }
  160. });
  161. userselect.addActionListener(new ActionListener() {
  162. @Override
  163. public void actionPerformed(ActionEvent e) {
  164. // 界面转换
  165. index.setVisible(false);
  166. new UserSelectFrame(name);
  167. }
  168. });
  169. userdelete.addActionListener(new ActionListener() {
  170. @Override
  171. public void actionPerformed(ActionEvent e) {
  172. // 界面转换
  173. index.setVisible(false);
  174. new UserDeleteFrame(name);
  175. }
  176. });
  177. userupdate.addActionListener(new ActionListener() {
  178. @Override
  179. public void actionPerformed(ActionEvent e) {
  180. // 界面转换
  181. index.setVisible(false);
  182. new AdminUpdateFrame(name);
  183. }
  184. });
  185. goodsadd.addActionListener(new ActionListener() {
  186. @Override
  187. public void actionPerformed(ActionEvent e) {
  188. // 界面转换
  189. index.setVisible(false);
  190. new GoodsAddFrame(name);
  191. }
  192. });
  193. goodsdelete.addActionListener(new ActionListener() {
  194. @Override
  195. public void actionPerformed(ActionEvent e) {
  196. // 界面转换
  197. index.setVisible(false);
  198. new GoodsDeleteFrame(name);
  199. }
  200. });
  201. goodsupdate.addActionListener(new ActionListener() {
  202. @Override
  203. public void actionPerformed(ActionEvent e) {
  204. // 界面转换
  205. index.setVisible(false);
  206. new GoodsUpdateFrame(name);
  207. }
  208. });
  209. storageadd.addActionListener(new ActionListener() {
  210. @Override
  211. public void actionPerformed(ActionEvent e) {
  212. // 界面转换
  213. index.setVisible(false);
  214. new StorageAddFrame(name);
  215. }
  216. });
  217. storagedelete.addActionListener(new ActionListener() {
  218. @Override
  219. public void actionPerformed(ActionEvent e) {
  220. // 界面转换
  221. index.setVisible(false);
  222. new StorageDeleteFrame(name);
  223. }
  224. });
  225. storageupdate.addActionListener(new ActionListener() {
  226. @Override
  227. public void actionPerformed(ActionEvent e) {
  228. // 界面转换
  229. index.setVisible(false);
  230. new StorageUpdateFrame(name);
  231. }
  232. });
  233. }
  234. }

IndexUserFrame.java


  
  1. package net.wms.view;
  2. import java.awt.Font;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.util.Random;
  6. import javax.swing.ImageIcon;
  7. import javax.swing.JComponent;
  8. import javax.swing.JFrame;
  9. import javax.swing.JLabel;
  10. import javax.swing.JMenu;
  11. import javax.swing.JMenuBar;
  12. import javax.swing.JMenuItem;
  13. public class IndexUserFrame {
  14. // 声明对象
  15. public JFrame index;
  16. private JMenuBar management;
  17. private JMenu user;
  18. private JMenu goods;
  19. private JMenu storage;
  20. private JMenuItem exit;
  21. private JMenuItem usernews;
  22. private JMenuItem userupdate;
  23. private JMenuItem goodsselect;
  24. private JMenuItem storageselect;
  25. // 创建构造函数
  26. public IndexUserFrame(String name) {
  27. indexadmin();
  28. // 添加对象
  29. user.add(usernews);
  30. user.add(userupdate);
  31. user.add(exit);
  32. goods.add(goodsselect);
  33. storage.add(storageselect);
  34. management.add(user);
  35. management.add(goods);
  36. management.add(storage);
  37. init(name);
  38. action(name);
  39. }
  40. private void init(String name) {
  41. // 初始化矿建index
  42. index = new JFrame("欢迎用户 " + name + " 使用本系统");
  43. // 设置框架大小和位置
  44. index.setBounds(500, 100, 600, 500);
  45. index.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  46. // 将菜单栏设置进框架
  47. index.setJMenuBar(management);
  48. index.setLayout(null);
  49. // 设置随机背景
  50. ((JComponent) index.getContentPane()).setOpaque(false);
  51. // ImageIcon img = null;
  52. // Random r = new Random();
  53. // int i = r.nextInt(5);
  54. // switch (i) {
  55. // case 0:
  56. // img = new ImageIcon("Images//主背景.jpg");
  57. // break;
  58. // case 1:
  59. // img = new ImageIcon("Images//主背景1.jpg");
  60. // break;
  61. // case 2:
  62. // img = new ImageIcon("Images//主背景2.jpg");
  63. // break;
  64. // case 3:
  65. // img = new ImageIcon("Images//主背景3.jpg");
  66. // break;
  67. // case 4:
  68. // img = new ImageIcon("Images//主背景4.jpg");
  69. // break;
  70. // default:
  71. // break;
  72. // }
  73. // JLabel background = new JLabel(img);
  74. // index.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
  75. // background.setBounds(0, 20, img.getIconWidth(), img.getIconHeight());
  76. index.setVisible(true);
  77. // 居中显示
  78. index.setLocationRelativeTo(null);
  79. }
  80. public void indexadmin() {
  81. // 初始化对象
  82. Font f = new Font("楷体", Font.BOLD, 15);
  83. management = new JMenuBar();
  84. user = new JMenu(" 用户管理");
  85. user.setFont(f);
  86. goods = new JMenu(" 商品管理");
  87. goods.setFont(f);
  88. storage = new JMenu(" 仓库管理");
  89. storage.setFont(f);
  90. exit = new JMenuItem("更换用户");
  91. exit.setFont(f);
  92. usernews = new JMenuItem("个人信息");
  93. usernews.setFont(f);
  94. userupdate = new JMenuItem("密码修改");
  95. userupdate.setFont(f);
  96. goodsselect = new JMenuItem("商品浏览");
  97. goodsselect.setFont(f);
  98. storageselect = new JMenuItem("仓库浏览");
  99. storageselect.setFont(f);
  100. }
  101. // 为所有的菜单条目设置监听事件
  102. private void action(final String name) {
  103. exit.addActionListener(new ActionListener() {
  104. @Override
  105. public void actionPerformed(ActionEvent e) {
  106. // 界面转换
  107. index.setVisible(false);
  108. LoginFrame.main(null);
  109. }
  110. });
  111. usernews.addActionListener(new ActionListener() {
  112. @Override
  113. public void actionPerformed(ActionEvent e) {
  114. // 界面转换
  115. index.setVisible(false);
  116. new UserNewsFrame(name);
  117. }
  118. });
  119. userupdate.addActionListener(new ActionListener() {
  120. @Override
  121. public void actionPerformed(ActionEvent e) {
  122. // 界面转换
  123. index.setVisible(false);
  124. new UserUpdateFrame(name);
  125. }
  126. });
  127. goodsselect.addActionListener(new ActionListener() {
  128. @Override
  129. public void actionPerformed(ActionEvent e) {
  130. // 界面转换
  131. index.setVisible(false);
  132. new GoodsSelectFrame(name);
  133. }
  134. });
  135. storageselect.addActionListener(new ActionListener() {
  136. @Override
  137. public void actionPerformed(ActionEvent e) {
  138. // 界面转换
  139. index.setVisible(false);
  140. new StorageSelectFrame(name);
  141. }
  142. });
  143. }
  144. }

Goodsmanagement.java


  
  1. package net.wms.dao;
  2. import java.sql.SQLException;
  3. import net.wms.model.Goods;
  4. public interface Goodsmanagement {
  5. // 查询
  6. public void Query(String sql) throws SQLException;
  7. // 增加
  8. public void Add(Goods goods, String sql) throws SQLException;
  9. // 删除
  10. public void Delete(String sql) throws SQLException;
  11. // 修改
  12. public void Update(Goods goods, String sql) throws SQLException;
  13. }

GoodsmanagementImp.java


  
  1. package net.wms.dao;
  2. import java.sql.Connection;
  3. import java.sql.PreparedStatement;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.util.Vector;
  7. import net.wms.model.Goods;
  8. import net.wms.util.DBUtil;
  9. public class GoodsmanagementImp implements Goodsmanagement {
  10. public static Vector vec = new Vector();
  11. // 获取数据库连接
  12. Connection conn = DBUtil.getConnection();
  13. // 查询方法
  14. public void Query(String sql) throws SQLException {
  15. // TODO Auto-generated method stub
  16. // 加载SQL语句
  17. PreparedStatement pra = conn.prepareStatement(sql);
  18. // 放入结果集
  19. ResultSet rs = pra.executeQuery();
  20. vec.removeAllElements();
  21. while (rs.next()) {
  22. Vector v = new Vector();
  23. v.add(rs.getInt("id"));
  24. v.add(rs.getString("goodsname"));
  25. v.add(rs.getString("goodsstyle"));
  26. v.add(rs.getInt("goodsnumber"));
  27. v.add(rs.getInt("storageID"));
  28. vec.add(v);
  29. }
  30. }
  31. public boolean Query1(Goods goods, String sql) throws SQLException {
  32. // TODO Auto-generated method stub
  33. // 加载SQL语句
  34. PreparedStatement pra = conn.prepareStatement(sql);
  35. // 放入结果集
  36. ResultSet rs = pra.executeQuery();
  37. // 遍历结果集
  38. return false;
  39. }
  40. public void Add(Goods goods, String sql) throws SQLException {
  41. // TODO Auto-generated method stub
  42. PreparedStatement pra = conn.prepareStatement(sql);
  43. pra.setString(1, goods.getGoodsname());
  44. pra.setString(2, goods.getGoodsstyle());
  45. pra.setInt(3, goods.getGoodsnumber());
  46. pra.setString(4, goods.getStorageID());
  47. pra.executeUpdate();
  48. pra.close();
  49. }
  50. public void Delete(String sql) throws SQLException {
  51. // TODO Auto-generated method stub
  52. PreparedStatement pra = conn.prepareStatement(sql);
  53. pra.executeUpdate();
  54. pra.close();
  55. }
  56. public void Update(Goods goods, String sql) throws SQLException {
  57. // TODO Auto-generated method stub
  58. PreparedStatement pra = conn.prepareStatement(sql);
  59. pra.setString(1, goods.getGoodsname());
  60. pra.setString(2, goods.getGoodsstyle());
  61. pra.setInt(3, goods.getGoodsnumber());
  62. pra.setString(4, goods.getStorageID());
  63. pra.executeUpdate();
  64. pra.close();
  65. }
  66. }

四、其他

1.其他系统实现

1.JavaWeb系统系列实现

Java+JSP实现学生图书管理系统

Java+JSP实现学生信息管理系统

Java+JSP实现用户信息管理系统

Java+Servlet+JSP实现航空订票系统

Java+Servlet+JSP实现学生选课管理系统

Java+Servlet+JSP实现学生成绩管理系统

Java+Servlet+JSP实现宠物诊所管理系统

Java+SSM+Easyui实现网上考试系统

Java+Springboot+Mybatis+Bootstrap+Maven实现网上商城系统

2.JavaSwing系统系列实现

Java+Swing实现斗地主游戏

Java+Swing实现图书管理系统

Java+Swing实现医院管理系统

Java+Swing实现仓库管理系统

Java+Swing实现考试管理系统

Java+Swing实现通讯录管理系统

Java+Swing实现停车场管理系统

Java+Swing实现学生信息管理系统

Java+Swing实现学生宿舍管理系统

Java+Swing实现学生选课管理系统

Java+Swing实现学生成绩管理系统

Java+Swing实现学校教材管理系统

Java+Swing实现学校教务管理系统

Java+Swing实现企业人事管理系统

Java+Swing实现电子相册管理系统

Java+Swing实现超市管理系统-TXT存储数据

Java+Swing实现自助取款机系统-TXT存储数据

Java+Swing实现宠物商店管理系统-TXT存储数据

2.获取源码

点击以下链接获取源码,数据库文件在sql文件下面。

Java+Swing+Mysql仓库管理系统源码

3.运行项目

请点击以下链接,部署你的项目。

Eclipse如何导入JavaSwing项目超详细图文教程

Eclipse如何导入JavaSwing项目超详细视频教程

4.备注

如有侵权请联系我删除。

5.支持博主

如果您觉得此文对您有帮助,请点赞加关注,祝您生活愉快!

文章来源: blog.csdn.net,作者:水坚石青,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/helongqiang/article/details/118314721

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。