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

2.用户-登录成功


3.用户-主页面


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


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


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


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


8.管理员-登录页


9.管理员-主页面


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


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


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


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


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


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


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


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


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


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


三、部分代码

======

LoginFrame.java


package net.wms.view;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.SQLException;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JComponent;

import javax.swing.JFrame;

import java.awt.Image;

import java.awt.Toolkit;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

import net.wms.dao.LoginUseImp;

import net.wms.model.User;

/**

  • 登陆界面 1、创建登陆界面,初始化上面的对象 2、美化登陆界面,设置各个对象的大小、位置、字体以及界面的背景 3、给按钮设置监听事件

*/

public class LoginFrame {

// 初始化字体

Font d = new Font(“楷体”, Font.BOLD, 36);

Font f = new Font(“楷体”, Font.BOLD, 18);

// 初始化对象

JFrame logingui = new JFrame(“仓库管理系统”);

JLabel userlogin = new JLabel(“用户登录”);

JLabel username = new JLabel(“用户名:”);

JLabel password = new JLabel(“密 码:”);

JLabel usertyle = new JLabel(“用户类型:”);

JTextField name = new JTextField();

JTextField pwd = new JPasswordField();

JComboBox box = new JComboBox(new String[] { “管理员”, “普通用户” });

JButton login = new JButton(“登陆”);

// Image icon = Toolkit.getDefaultToolkit().getImage(“F:\仓库管理系统\后台.jpg”);

// 给User类初始化对象user

User user = new User();

public void LoginGui() {

// 后台运行时图标

// logingui.setIconImage(icon);

// 设置对象

logingui.setBounds(600, 300, 600, 420);

// 设置退出

logingui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// 取消框架格式

logingui.setLayout(null);

// 设置位置、大小和字体

userlogin.setBounds(220, 30, 200, 50);

userlogin.setFont(d);

username.setBounds(180, 100, 100, 30);

username.setFont(f);

password.setBounds(180, 140, 100, 30);

password.setFont(f);

usertyle.setBounds(180, 180, 100, 30);

usertyle.setFont(f);

name.setBounds(280, 100, 180, 30);

name.setFont(f);

pwd.setBounds(280, 140, 180, 30);

box.setBounds(280, 180, 125, 30);

box.setFont(f);

login.setBounds(235, 260, 80, 30);

login.setFont(f);

// 添加对象

logingui.add(userlogin);

logingui.add(username);

logingui.add(password);

logingui.add(usertyle);

logingui.add(name);

logingui.add(pwd);

logingui.add(box);

logingui.add(login);

// 窗体可视化

logingui.setVisible(true);

// 居中显示

logingui.setLocationRelativeTo(null);

// 设置登录图形界面的背景图片

((JComponent) logingui.getContentPane()).setOpaque(false); // 将框架强转为容器

// ImageIcon img = new ImageIcon(“Images//登录背景.jpg”); // 传入背景图片路径

// JLabel background = new JLabel(img);// 将图片放进标签里

// logingui.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));//

// 将标签放进容器里

// background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());//

// 设置标签的大小

// 给下拉框设置选择监听事件

box.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 判断选择选项是否和下拉框数据一致

if (box.getSelectedItem().equals(“管理员”)) {

// 设置标志量的值

user.setFlag(“2”);

} else {

user.setFlag(“1”);

}

}

});

// 给登录按钮设置监听事件

login.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 提取文本框里的用户名和密码

String name_text = name.getText();

String pwd_text = pwd.getText();

// 将得到的值存入user对象里面

user.setusername(name_text);

user.setuserpwd(pwd_text);

// 给登陆接口实现类初始化对象

LoginUseImp l = new LoginUseImp();

// 获取标志量

String state = user.getFlag();

// 判断标志量,设置文本框的默认值为管理员

if (state != “1” && state != “2”) {

state = “2”;

}

// 判断文本框值是不是管理员

if (state == “2”) {

try {

// 执行sql语句,进行数据库添加

boolean flag = l.Query(user,

“select * from users where username=? and userpwd=? and flag=” + state);

if (flag) {

// 文本提示框

JOptionPane.showMessageDialog(null, “登陆成功”);

// 界面转换,隐藏原来界面

logingui.setVisible(false);

// 构造新的界面

new IndexAdminFrame(name_text);

} else {

// 文本提示框

JOptionPane.showMessageDialog(null, “登陆失败,请检查用户名和密码”);

// 设置用户名框和密码框的值为空

name.setText(“”);

pwd.setText(“”);

}

} catch (SQLException e1) {

e1.printStackTrace();

}

// 判断是不是普通用户

} else if (state == “1”) {

try {

// 执行sql语句

boolean flag = l.Query(user,

“select * from users where username=? and userpwd=? and flag=” + state);

if (flag) {

JOptionPane.showMessageDialog(null, “登陆成功”);

logingui.setVisible(false);

new IndexUserFrame(name_text);

} else {

JOptionPane.showMessageDialog(null, “登陆失败,请检查用户名和密码”);

name.setText(“”);

pwd.setText(“”);

}

} catch (SQLException e1) {

e1.printStackTrace();

}

}

}

});

}

// 整个程序执行的入口

public static void main(String[] args) {

LoginFrame l = new LoginFrame();

l.LoginGui();

}

}

IndexAdminFrame.java


package net.wms.view;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Random;

import javax.swing.ImageIcon;

import javax.swing.JComponent;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

public class IndexAdminFrame {

// 声明对象

public JFrame index;

private JMenuBar management;

private JMenu user;

private JMenu goods;

private JMenu storage;

private JMenuItem exit;

private JMenuItem useradd;

private JMenuItem userdelete;

private JMenuItem userupdate;

private JMenuItem userselect;

private JMenuItem goodsadd;

private JMenuItem goodsdelete;

private JMenuItem goodsupdate;

private JMenuItem storageadd;

private JMenuItem storagedelete;

private JMenuItem storageupdate;

Font f = new Font(“楷体”, Font.BOLD, 15);

// 构造函数

public IndexAdminFrame(String name) {

indexadmin();

// 菜单的添加

// 给用户菜单添加条目

user.add(useradd);

user.add(userselect);

user.add(userdelete);

user.add(userupdate);

user.add(exit);

// 给商品菜单添加条目

goods.add(goodsadd);

goods.add(goodsdelete);

goods.add(goodsupdate);

// 给仓库菜单添加条目

storage.add(storageadd);

storage.add(storagedelete);

storage.add(storageupdate);

// 将菜单添加到菜单栏里

management.add(user);

management.add(goods);

management.add(storage);

init(name);

action(name);

}

private void init(String name) {

// 初始化框架

index = new JFrame(“欢迎管理员 " + name + " 使用本系统”);

// 设置框架大小及位置

index.setBounds(500, 100, 600, 500);

index.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// 将菜单栏设置进框架

index.setJMenuBar(management);

// 清空框架格式

index.setLayout(null);

// 将框架转换为容器

((JComponent) index.getContentPane()).setOpaque(false);

// // 声明图片对象

// ImageIcon img = null;

// // 产生随机数

// Random r = new Random();

// int i = r.nextInt(5);

// 用随机数的值获取不同的图片

// switch (i) {

// case 0:

// img = new ImageIcon(“Images//主背景.jpg”);

// break;

// case 1:

// img = new ImageIcon(“Images//主背景1.jpg”);

// break;

// case 2:

// img = new ImageIcon(“Images//主背景2.jpg”);

// break;

// case 3:

// img = new ImageIcon(“Images//主背景3.jpg”);

// break;

// case 4:

// img = new ImageIcon(“Images//主背景4.jpg”);

// break;

// default:

// break;

// }

// 初始化标签

// JLabel background = new JLabel(img);

// // 将标签添加进框架index(添加进容器中)

// index.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));

// // 设置标签大小

// background.setBounds(0, 20, img.getIconWidth(), img.getIconHeight());

// // 设置可视化

index.setVisible(true);

// 居中显示

index.setLocationRelativeTo(null);

}

public void indexadmin() {

// 对象初始化以及设置字体

management = new JMenuBar();

// 菜单初始化

user = new JMenu(" 用户管理");

user.setFont(f);

goods = new JMenu(" 商品管理");

goods.setFont(f);

storage = new JMenu(" 仓库管理");

storage.setFont(f);

// 菜单条目初始化

exit = new JMenuItem(“更换用户”);

exit.setFont(f);

useradd = new JMenuItem(“添加用户”);

useradd.setFont(f);

userdelete = new JMenuItem(“删除用户”);

userdelete.setFont(f);

userupdate = new JMenuItem(“密码修改”);

userupdate.setFont(f);

userselect = new JMenuItem(“查询用户”);

userselect.setFont(f);

goodsadd = new JMenuItem(“商品添加”);

goodsadd.setFont(f);

goodsdelete = new JMenuItem(“商品删除”);

goodsdelete.setFont(f);

goodsupdate = new JMenuItem(“商品更新”);

goodsupdate.setFont(f);

storageadd = new JMenuItem(“仓库添加”);

storageadd.setFont(f);

storagedelete = new JMenuItem(“仓库删除”);

storagedelete.setFont(f);

storageupdate = new JMenuItem(“仓库更新”);

storageupdate.setFont(f);

}

// 给所有的菜单条目设置监听事件

private void action(final String name) {

exit.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

// 将原来页面设置为不可见

index.setVisible(false);

// 调用函数转到登陆页面

LoginFrame.main(null);

}

});

useradd.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

// 将原来页面设置为不可见

index.setVisible(false);

// 用构造函数获取新页面

new UserAddFrame(name);

}

});

userselect.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

index.setVisible(false);

new UserSelectFrame(name);

}

});

userdelete.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

index.setVisible(false);

new UserDeleteFrame(name);

}

});

userupdate.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

index.setVisible(false);

new AdminUpdateFrame(name);

}

});

goodsadd.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

index.setVisible(false);

new GoodsAddFrame(name);

}

});

goodsdelete.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

index.setVisible(false);

new GoodsDeleteFrame(name);

}

});

goodsupdate.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

index.setVisible(false);

new GoodsUpdateFrame(name);

}

});

storageadd.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

index.setVisible(false);

new StorageAddFrame(name);

}

});

storagedelete.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

index.setVisible(false);

new StorageDeleteFrame(name);

}

});

storageupdate.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

index.setVisible(false);

new StorageUpdateFrame(name);

}

});

}

}

IndexUserFrame.java


package net.wms.view;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Random;

import javax.swing.ImageIcon;

import javax.swing.JComponent;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

public class IndexUserFrame {

// 声明对象

public JFrame index;

private JMenuBar management;

private JMenu user;

private JMenu goods;

private JMenu storage;

private JMenuItem exit;

private JMenuItem usernews;

private JMenuItem userupdate;

private JMenuItem goodsselect;

private JMenuItem storageselect;

// 创建构造函数

public IndexUserFrame(String name) {

indexadmin();

// 添加对象

user.add(usernews);

user.add(userupdate);

user.add(exit);

goods.add(goodsselect);

storage.add(storageselect);

management.add(user);

management.add(goods);

management.add(storage);

init(name);

action(name);

}

private void init(String name) {

// 初始化矿建index

index = new JFrame(“欢迎用户 " + name + " 使用本系统”);

// 设置框架大小和位置

index.setBounds(500, 100, 600, 500);

index.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// 将菜单栏设置进框架

index.setJMenuBar(management);

index.setLayout(null);

// 设置随机背景

((JComponent) index.getContentPane()).setOpaque(false);

// ImageIcon img = null;

// Random r = new Random();

// int i = r.nextInt(5);

// switch (i) {

// case 0:

// img = new ImageIcon(“Images//主背景.jpg”);

// break;

// case 1:

// img = new ImageIcon(“Images//主背景1.jpg”);

// break;

// case 2:

// img = new ImageIcon(“Images//主背景2.jpg”);

// break;

// case 3:

// img = new ImageIcon(“Images//主背景3.jpg”);

// break;

// case 4:

// img = new ImageIcon(“Images//主背景4.jpg”);

// break;

// default:

// break;

// }

// JLabel background = new JLabel(img);

// index.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));

// background.setBounds(0, 20, img.getIconWidth(), img.getIconHeight());

index.setVisible(true);

// 居中显示

index.setLocationRelativeTo(null);

}

public void indexadmin() {

// 初始化对象

Font f = new Font(“楷体”, Font.BOLD, 15);

management = new JMenuBar();

user = new JMenu(" 用户管理");

user.setFont(f);

goods = new JMenu(" 商品管理");

goods.setFont(f);

storage = new JMenu(" 仓库管理");

storage.setFont(f);

exit = new JMenuItem(“更换用户”);

exit.setFont(f);

usernews = new JMenuItem(“个人信息”);

usernews.setFont(f);

userupdate = new JMenuItem(“密码修改”);

userupdate.setFont(f);

goodsselect = new JMenuItem(“商品浏览”);

goodsselect.setFont(f);

storageselect = new JMenuItem(“仓库浏览”);

storageselect.setFont(f);

}

// 为所有的菜单条目设置监听事件

private void action(final String name) {

exit.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

index.setVisible(false);

LoginFrame.main(null);

}

});

usernews.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

index.setVisible(false);

new UserNewsFrame(name);

}

});

userupdate.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

index.setVisible(false);

new UserUpdateFrame(name);

}

});

goodsselect.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

index.setVisible(false);

new GoodsSelectFrame(name);

}

});

storageselect.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 界面转换

index.setVisible(false);

new StorageSelectFrame(name);

}

});

}

}

Goodsmanagement.java


package net.wms.dao;

import java.sql.SQLException;

import net.wms.model.Goods;

public interface Goodsmanagement {

// 查询

public void Query(String sql) throws SQLException;

// 增加

public void Add(Goods goods, String sql) throws SQLException;

// 删除

public void Delete(String sql) throws SQLException;

// 修改

public void Update(Goods goods, String sql) throws SQLException;

}

GoodsmanagementImp.java


package net.wms.dao;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Vector;

import net.wms.model.Goods;

import net.wms.util.DBUtil;

public class GoodsmanagementImp implements Goodsmanagement {

public static Vector vec = new Vector();

// 获取数据库连接

Connection conn = DBUtil.getConnection();

// 查询方法

public void Query(String sql) throws SQLException {

// TODO Auto-generated method stub

// 加载SQL语句

PreparedStatement pra = conn.prepareStatement(sql);

// 放入结果集

ResultSet rs = pra.executeQuery();

vec.removeAllElements();

while (rs.next()) {

Vector v = new Vector();

v.add(rs.getInt(“id”));

v.add(rs.getString(“goodsname”));

v.add(rs.getString(“goodsstyle”));

v.add(rs.getInt(“goodsnumber”));

v.add(rs.getInt(“storageID”));

vec.add(v);

}

}

public boolean Query1(Goods goods, String sql) throws SQLException {

// TODO Auto-generated method stub

// 加载SQL语句

PreparedStatement pra = conn.prepareStatement(sql);

// 放入结果集

ResultSet rs = pra.executeQuery();

// 遍历结果集

return false;

}

public void Add(Goods goods, String sql) throws SQLException {

// TODO Auto-generated method stub

PreparedStatement pra = conn.prepareStatement(sql);

总结

这个月马上就又要过去了,还在找工作的小伙伴要做好准备了,小编整理了大厂java程序员面试涉及到的绝大部分面试题及答案,希望能帮助到大家

在这里插入图片描述

在这里插入图片描述

Imp.java


package net.wms.dao;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Vector;

import net.wms.model.Goods;

import net.wms.util.DBUtil;

public class GoodsmanagementImp implements Goodsmanagement {

public static Vector vec = new Vector();

// 获取数据库连接

Connection conn = DBUtil.getConnection();

// 查询方法

public void Query(String sql) throws SQLException {

// TODO Auto-generated method stub

// 加载SQL语句

PreparedStatement pra = conn.prepareStatement(sql);

// 放入结果集

ResultSet rs = pra.executeQuery();

vec.removeAllElements();

while (rs.next()) {

Vector v = new Vector();

v.add(rs.getInt(“id”));

v.add(rs.getString(“goodsname”));

v.add(rs.getString(“goodsstyle”));

v.add(rs.getInt(“goodsnumber”));

v.add(rs.getInt(“storageID”));

vec.add(v);

}

}

public boolean Query1(Goods goods, String sql) throws SQLException {

// TODO Auto-generated method stub

// 加载SQL语句

PreparedStatement pra = conn.prepareStatement(sql);

// 放入结果集

ResultSet rs = pra.executeQuery();

// 遍历结果集

return false;

}

public void Add(Goods goods, String sql) throws SQLException {

// TODO Auto-generated method stub

PreparedStatement pra = conn.prepareStatement(sql);

总结

这个月马上就又要过去了,还在找工作的小伙伴要做好准备了,小编整理了大厂java程序员面试涉及到的绝大部分面试题及答案,希望能帮助到大家

[外链图片转存中…(img-WMMZLehx-1721133398388)]

[外链图片转存中…(img-A24FwB8D-1721133398389)]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值