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

编程入门 行业动态 更新时间:2024-10-27 22:31:59

Eclipse+Java+Swing实现<a href=https://www.elefans.com/category/jswz/34/1751300.html style=仓库管理系统"/>

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

Java+Swing实现仓库管理系统

  • 一、系统介绍
  • 二、系统展示
    • 1.登录页面
    • 2.主页面
    • 3.货物类型添加页面
    • 4.货物类型添加成功提示页面
    • 5.货物类别修改页面
    • 6.货物类型修改成功提示
    • 7.货物类型修改成功显示页面
    • 8.货物添加页面
    • 9.货物添加成功提示页面
    • 10.货物修改页面
    • 11.货物修改成功提示页面
    • 12.货物修改成功显示页面
    • 13.货物删除提示页面
    • 14.退出系统提示页面
    • 15.联系我们页面
  • 三、系统实现
    • Goods.java
    • GoodsType.java
    • User.java
    • DbUtil.java
    • StringUtil.java
    • GoodsDao.java
    • UserDao.java
    • LoginFrm.java
    • MainFrm.java
    • GoodsAddInterFrm.java
    • GoodsManagerInterFrm.java
    • GoodsTypeAddInterFrm.java
  • 四、其他
      • JavaWeb系统系列实现
      • JavaSwing系统系列实现
    • 2.获取源码
    • 3.运行项目
    • 4.备注
    • 5.联系博主

一、系统介绍

本系统实现了用户登录,实现了对货物类别的增删改查,实现了对货物的增删改查,数据库使用Mysql8.0.13,界面较良好。

二、系统展示

1.登录页面

2.主页面

3.货物类型添加页面

4.货物类型添加成功提示页面

5.货物类别修改页面

6.货物类型修改成功提示

7.货物类型修改成功显示页面

备注:修改之后的页面结果显示

8.货物添加页面

9.货物添加成功提示页面

10.货物修改页面

11.货物修改成功提示页面

12.货物修改成功显示页面

13.货物删除提示页面

14.退出系统提示页面

15.联系我们页面

三、系统实现

Goods.java

package com.sjsq.model;/*** Goods实体类* * @author shuijianshiqing**/
public class Goods {private int id;private String goodsName;private String goodsSupplier;private String sex;private double price;private String goodsDesc;private Integer goodsTypeId;private String goodsTypeName;/*** 继承父类的构造方法*/public Goods() {super();}/*** 一个参数的构造方法* * @param id*/public Goods(int id) {super();this.id = id;}/*** 3个参数构造方法* * @param goodsName* @param goodsSupplier* @param goodsTypeId*/public Goods(String goodsName, String goodsSupplier, Integer goodsTypeId) {super();this.goodsName = goodsName;this.goodsSupplier = goodsSupplier;this.goodsTypeId = goodsTypeId;}/*** 6个参数的构造方法* * @param goodsName* @param goodsSupplier* @param sex* @param price* @param goodsDesc* @param goodsTypeId*/public Goods(String goodsName, String goodsSupplier, String sex, double price, String goodsDesc, int goodsTypeId) {super();this.goodsName = goodsName;this.goodsSupplier = goodsSupplier;this.sex = sex;this.price = price;this.goodsDesc = goodsDesc;this.goodsTypeId = goodsTypeId;}/*** 7个参数的构造方法* @param goodsName* @param goodsSupplier* @param sex* @param price* @param goodsDesc* @param goodsTypeId* @param goodsTypeName*/public Goods(String goodsName, String goodsSupplier, String sex, double price, String goodsDesc,Integer goodsTypeId, String goodsTypeName) {super();this.goodsName = goodsName;this.goodsSupplier = goodsSupplier;this.sex = sex;this.price = price;this.goodsDesc = goodsDesc;this.goodsTypeId = goodsTypeId;this.goodsTypeName = goodsTypeName;}/*** 7个参数的构造方法* * @param id* @param goodsName* @param goodsSupplier* @param sex* @param price* @param goodsDesc* @param goodsTypeId*/public Goods(int id, String goodsName, String goodsSupplier, String sex, double price, String goodsDesc,Integer goodsTypeId) {super();this.id = id;this.goodsName = goodsName;this.goodsSupplier = goodsSupplier;this.sex = sex;this.price = price;this.goodsDesc = goodsDesc;this.goodsTypeId = goodsTypeId;}/*** 8个参数的构造方法* @param id* @param goodsName* @param goodsSupplier* @param sex* @param price* @param goodsDesc* @param goodsTypeId* @param goodsTypeName*/public Goods(int id, String goodsName, String goodsSupplier, String sex, double price, String goodsDesc,Integer goodsTypeId, String goodsTypeName) {super();this.id = id;this.goodsName = goodsName;this.goodsSupplier = goodsSupplier;this.sex = sex;this.price = price;this.goodsDesc = goodsDesc;this.goodsTypeId = goodsTypeId;this.goodsTypeName = goodsTypeName;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getGoodsName() {return goodsName;}public void setGoodsName(String goodsName) {this.goodsName = goodsName;}public String getGoodsSupplier() {return goodsSupplier;}public void setGoodsSupplier(String goodsSupplier) {this.goodsSupplier = goodsSupplier;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public String getGoodsDesc() {return goodsDesc;}public void setGoodsDesc(String goodsDesc) {this.goodsDesc = goodsDesc;}public Integer getGoodsTypeId() {return goodsTypeId;}public void setGoodsTypeId(Integer goodsTypeId) {this.goodsTypeId = goodsTypeId;}public String getGoodsTypeName() {return goodsTypeName;}@Overridepublic String toString() {return "Goods [id=" + id + ", goodsName=" + goodsName + ", goodsSupplier=" + goodsSupplier + ", sex=" + sex+ ", price=" + price + ", goodsDesc=" + goodsDesc + ", goodsTypeId=" + goodsTypeId + ", goodsTypeName="+ goodsTypeName + "]";}}

GoodsType.java

package com.sjsq.model;/*** GoodsType实体类* * @author shuijianshiqing**/
public class GoodsType {// 货物类型Idprivate int id;// 获取类型名称private String goodsTypeName;// 货物类型描述private String goodsTypeDesc;/*** 继承自父类的构造方法*/public GoodsType() {super();}/*** 一个参数的构造方法* * @param goodsTypeName*/public GoodsType(String goodsTypeName) {super();this.goodsTypeName = goodsTypeName;}/*** 一个参数的构造方法* * @param id*/public GoodsType(int id) {super();this.id = id;}/*** 2个参数的构造方法* * @param goodsTypeName* @param goodsTypeDesc*/public GoodsType(String goodsTypeName, String goodsTypeDesc) {super();this.goodsTypeName = goodsTypeName;this.goodsTypeDesc = goodsTypeDesc;}/*** 3个参数构造方法* * @param id* @param goodsTypeName* @param goodsTypeDesc*/public GoodsType(int id, String goodsTypeName, String goodsTypeDesc) {super();this.id = id;this.goodsTypeName = goodsTypeName;this.goodsTypeDesc = goodsTypeDesc;}@Overridepublic String toString() {return goodsTypeName;}// Set和Get方法public int getId() {return id;}public void setId(int id) {this.id = id;}public String getGoodsTypeName() {return goodsTypeName;}public void setGoodsTypeName(String goodsTypeName) {this.goodsTypeName = goodsTypeName;}public String getGoodsTypeDesc() {return goodsTypeDesc;}public void setGoodsTypeDesc(String goodsTypeDesc) {this.goodsTypeDesc = goodsTypeDesc;}
}

User.java

package com.sjsq.model;/*** 管理员t_user表的User实体类* * @author shuijianshiqing**/
public class User {private int id;// id字段private String username;// username字段private String password;// password字段// 继承父类的构造方法public User() {super();}/*** 重载父类的构造方法带2个参数* * @param userName* @param password*/public User(String username, String password) {super();this.username = username;this.password = password;}/*** Set及Get方法* * @return*/public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}

DbUtil.java

package com.sjsq.util;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;/*** 数据库的连接* * @author shuijianshiqing**/
public class DbUtil {// 数据库驱动名private static String DriverName = "com.mysql.cj.jdbc.Driver";// 数据库协议private static String dbUril = "jdbc:mysql://localhost:3306/db_warehouse?serverTimezone=UTC";// 数据库用户名private static String dbName = "root";// 数据库密码private static String dbPassword = "admin";/*** 数据库驱动的加载与数据库连接* * @return* @throws Exception*/public static Connection getCon() throws Exception {Class.forName(DriverName);Connection conn = DriverManager.getConnection(dbUril, dbName, dbPassword);return conn;}/*** 关闭数据库连接* * @param conn* @throws SQLException*/public static void close(Connection conn) throws SQLException {if (conn != null) {conn.close();}}/*** 关闭数据库连接* * @param conn* @param rs* @throws SQLException*/public static void close(Connection conn, ResultSet rs) throws SQLException {if (rs != null) {rs.close();if (conn != null) {conn.close();}}}/*** 测试main()方法* * @param args*/public static void main(String[] args) {try {getCon();System.out.println("数据库连接成功!");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();System.out.println("数据库连接失败!");}}}

StringUtil.java

package com.sjsq.util;/*** 判断用户的输入是否为空方法类* * @author shuijianshiqing**/
public class StringUtil {/*** 判断字符串是否为空* * @param str* @return*/public static boolean isEmpty(String str) {if (str == null || "".equals(str.trim())) {return true;} else {return false;}}/*** 判断字符串是否不为空* * @param str* @return*/public static boolean isNotEmpty(String str) {if (str != null && !"".equals(str.trim())) {return true;} else {return false;}}
}

GoodsDao.java

package com.sjsq.dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;import com.sjsq.model.Goods;
import com.sjsq.util.DbUtil;
import com.sjsq.util.StringUtil;/*** 货物控制操作包* * @author Peter* @author shuijianshiqing**/
public class GoodsDao {/*** 货物删除事件* * @param conn* @param goods* @return* @throws Exception*/public static int deleteGoods(Connection conn, Goods goods) throws Exception {String sql = "delete from t_goods where id = ?";PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setInt(1, goods.getId());return pstmt.executeUpdate();}/*** 货物更新事件* * @param conn* @param goods* @return* @throws Exception*/public static int updateGoods(Connection conn, Goods goods) throws Exception {String sql = "update t_goods set goodsName=?, goodsSupplier=?, sex=?,"+ " price=?, goodsDesc=? , goodsTypeId = ? where id = ?";PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setString(1, goods.getGoodsName());pstmt.setString(2, goods.getGoodsSupplier());pstmt.setString(3, goods.getSex());pstmt.setDouble(4, goods.getPrice());pstmt.setString(5, goods.getGoodsDesc());pstmt.setInt(6, goods.getGoodsTypeId());pstmt.setInt(7, goods.getId());return pstmt.executeUpdate();}/*** 货物查询事件* * @param conn* @param goods* @return* @throws Exception*/public static ResultSet listGoods(Connection conn, Goods goods) throws Exception {StringBuffer sb = new StringBuffer("select * from t_goods t_g, t_goodsType t_gt where t_g.goodsTypeId=t_gt.id");if (StringUtil.isNotEmpty(goods.getGoodsName())) {sb.append(" and t_g.goodsName like '%" + goods.getGoodsName() + "%'");}if (StringUtil.isNotEmpty(goods.getGoodsSupplier())) {sb.append(" and t_g.goodsSupplier like '%" + goods.getGoodsSupplier() + "%'");}if (goods.getGoodsTypeId() != null && goods.getGoodsTypeId() != -1) {sb.append(" and t_g.goodsTypeId like '%" + goods.getGoodsTypeId() + "%'");}PreparedStatement pstmt = conn.prepareStatement(sb.toString());return pstmt.executeQuery();}/*** 添加货物* * @param conn* @param goods* @return* @throws Exception*/public static int addGoods(Connection conn, Goods goods) throws Exception {String sql = "insert into t_goods values(null, ?, ?, ?, ?, ?, ?,?)";PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setString(1, goods.getGoodsName());pstmt.setString(2, goods.getGoodsSupplier());pstmt.setString(3, goods.getSex());pstmt.setDouble(4, goods.getPrice());pstmt.setString(5, goods.getGoodsDesc());pstmt.setInt(6, goods.getGoodsTypeId());pstmt.setString(7, goods.getGoodsTypeName());return pstmt.executeUpdate();}public static void main(String[] args) {Connection conn;try {conn = DbUtil.getCon();GoodsDao goodsDao = new GoodsDao();Goods goods = new Goods(1,"q", "q", "nv", 2, "q", 1,"AA");System.out.println(goods);int result = goodsDao.addGoods(conn, goods);System.out.println(result);} catch (Exception e) {e.printStackTrace();}}
}

UserDao.java

package com.sjsq.dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;import com.sjsq.model.User;/*** UserDao实体类是对user管理员的操做控制* * @author shuijianshiqing**/
public class UserDao {/*** 管理员登录操作* * @param conn* @param user* @return* @throws Exception*/public User login(Connection conn, User user) throws Exception {User resultUser = null;String sql = "select * from t_user where username=? and password=?";PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setString(1, user.getUsername());pstmt.setString(2, user.getPassword());ResultSet rs = pstmt.executeQuery();if (rs.next()) {resultUser = new User();resultUser.setId(rs.getInt("id"));resultUser.setUsername(rs.getString("username"));resultUser.setPassword(rs.getString("password"));}return resultUser;}}

LoginFrm.java

package com.sjsq.view;import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.SQLException;import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;import com.sjsq.dao.UserDao;
import com.sjsq.model.User;
import com.sjsq.util.DbUtil;
import com.sjsq.util.StringUtil;/*** 登录页面视图层** @author shuijianshiqing**/
public class LoginFrm extends JFrame {private static DbUtil dbUtil = new DbUtil();private static UserDao userDao = new UserDao();// 主板private JPanel contentPane;// 账号private JTextField userNameTxt;// 密码private JPasswordField passwordTxt;/*** 创建窗体*/public LoginFrm() {// 该表系统默认字体Font font = new Font("Dialog", Font.PLAIN, 12);java.util.Enumeration keys = UIManager.getDefaults().keys();while (keys.hasMoreElements()) {Object key = keys.nextElement();Object value = UIManager.get(key);if (value instanceof javax.swing.plaf.FontUIResource) {UIManager.put(key, font);}}setIconImage(Toolkit.getDefaultToolkit().getImage(LoginFrm.class.getResource("/images/goods_logo.png")));setTitle("仓库管理系统");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 546, 369);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);JLabel label = new JLabel("仓库管理系统管理员登录界面");label.setFont(new Font("宋体", Font.BOLD, 20));label.setIcon(new ImageIcon(LoginFrm.class.getResource("/images/goods_logo.png")));JLabel label_1 = new JLabel("账号");label_1.setIcon(new ImageIcon(LoginFrm.class.getResource("/images/user.png")));JLabel label_2 = new JLabel("密码");label_2.setIcon(new ImageIcon(LoginFrm.class.getResource("/images/password.png")));userNameTxt = new JTextField();userNameTxt.setColumns(10);passwordTxt = new JPasswordField();JButton btnNewButton = new JButton("登录");btnNewButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {loginActionPerformed(arg0);}});btnNewButton.setIcon(new ImageIcon(LoginFrm.class.getResource("/images/login.png")));JButton button = new JButton("重置");button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {resetValueActionPerformed(arg0);}});button.setIcon(new ImageIcon(LoginFrm.class.getResource("/images/reset.png")));GroupLayout gl_contentPane = new GroupLayout(contentPane);gl_contentPane.setHorizontalGroup(gl_contentPane.createParallelGroup(Alignment.LEADING).addGroup(gl_contentPane.createSequentialGroup().addContainerGap(99, Short.MAX_VALUE).addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING).addComponent(label).addGroup(gl_contentPane.createSequentialGroup().addGap(38).addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING).addComponent(label_2).addComponent(label_1)).addGap(18).addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false).addComponent(passwordTxt).addComponent(userNameTxt, GroupLayout.DEFAULT_SIZE, 167,Short.MAX_VALUE).addComponent(button, Alignment.TRAILING)))).addGap(96)).addGroup(gl_contentPane.createSequentialGroup().addGap(176).addComponent(btnNewButton).addContainerGap(261, Short.MAX_VALUE)));gl_contentPane.setVerticalGroup(gl_contentPane.createParallelGroup(Alignment.LEADING).addGroup(gl_contentPane.createSequentialGroup().addGap(29).addComponent(label).addGap(42).addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE).addComponent(userNameTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE).addComponent(label_1)).addGap(18).addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE).addComponent(label_2).addComponent(passwordTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE)).addGap(48).addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE).addComponent(btnNewButton, GroupLayout.PREFERRED_SIZE, 28, GroupLayout.PREFERRED_SIZE).addComponent(button, GroupLayout.PREFERRED_SIZE, 27, GroupLayout.PREFERRED_SIZE)).addContainerGap(37, Short.MAX_VALUE)));contentPane.setLayout(gl_contentPane);// 居中显示this.setLocationRelativeTo(null);}/*** 管理员登录* * @param arg0*/private void loginActionPerformed(ActionEvent arg0) {String userName = this.userNameTxt.getText();String password = new String(this.passwordTxt.getPassword());if (StringUtil.isEmpty(userName)) {JOptionPane.showMessageDialog(null, "用户名不能为空!");return;}if (StringUtil.isEmpty(password)) {JOptionPane.showMessageDialog(null, "密码不能为空!");return;}User user = new User(userName, password);Connection conn = null;try {conn = dbUtil.getCon();User currentUser = userDao.login(conn, user);if (currentUser != null) {// JOptionPane.showMessageDialog(null, "登录成功!");dispose();new MainFrm().setVisible(true);} else {JOptionPane.showMessageDialog(null, "登录失败!");}} catch (Exception e) {e.printStackTrace();JOptionPane.showMessageDialog(null, "登录失败!");} finally {try {dbUtil.close(conn);} catch (SQLException e) {e.printStackTrace();}}}/*** 重置事件* * @param arg0*/private void resetValueActionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubthis.resetValue();}/*** 重置表单事件*/private void resetValue() {this.userNameTxt.setText("");this.passwordTxt.setText("");}/*** 运行程序*/public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {LoginFrm frame = new LoginFrm();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}
}

MainFrm.java

package com.sjsq.view;import java.awt.BorderLayout;
import java.awt.EventQueue;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Toolkit;
import javax.swing.JDesktopPane;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.ImageIcon;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;/*** 主页面视图层* * @author shuijianshiqing**/
public class MainFrm extends JFrame {private JPanel contentPane;private JDesktopPane table;/*** 创建窗体*/public MainFrm() {setTitle("仓库系统主界面");setIconImage(Toolkit.getDefaultToolkit().getImage(MainFrm.class.getResource("/images/goods_logo.png")));setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 200, 900, 800);JMenuBar menuBar = new JMenuBar();setJMenuBar(menuBar);JMenu menu = new JMenu("仓库系统管理");menu.setIcon(new ImageIcon(MainFrm.class.getResource("/images/manager.png")));menuBar.add(menu);JMenu menu_2 = new JMenu("仓库系统管理");menu_2.setIcon(new ImageIcon(MainFrm.class.getResource("/images/goodmanager.png")));menu.add(menu_2);JMenuItem menuItem_2 = new JMenuItem("货物类型添加");menuItem_2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {GoodsTypeAddInterFrm goodsTypeAddInterFrm = new GoodsTypeAddInterFrm();goodsTypeAddInterFrm.setVisible(true);table.add(goodsTypeAddInterFrm);}});menuItem_2.setIcon(new ImageIcon(MainFrm.class.getResource("/images/add.png")));menu_2.add(menuItem_2);JMenuItem menuItem_3 = new JMenuItem("货物类型修改");menuItem_3.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {GoodsTypeManagerInterFrm goodsTypeManagerInterFrm = new GoodsTypeManagerInterFrm();goodsTypeManagerInterFrm.setVisible(true);table.add(goodsTypeManagerInterFrm);}});menuItem_3.setIcon(new ImageIcon(MainFrm.class.getResource("/images/modify.png")));menu_2.add(menuItem_3);JMenu menu_3 = new JMenu("货物物品管理");menu_3.setIcon(new ImageIcon(MainFrm.class.getResource("/images/goods.png")));menu.add(menu_3);JMenuItem menuItem_4 = new JMenuItem("货物物品添加");menuItem_4.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {GoodsAddInterFrm goodsAddInterFrm = new GoodsAddInterFrm();goodsAddInterFrm.setVisible(true);table.add(goodsAddInterFrm);}});menuItem_4.setIcon(new ImageIcon(MainFrm.class.getResource("/images/add.png")));menu_3.add(menuItem_4);JMenuItem menuItem_5 = new JMenuItem("货物物品修改");menuItem_5.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {GoodsManagerInterFrm goodsManagerInterFrm = new GoodsManagerInterFrm();goodsManagerInterFrm.setVisible(true);table.add(goodsManagerInterFrm);}});menuItem_5.setIcon(new ImageIcon(MainFrm.class.getResource("/images/modify.png")));menu_3.add(menuItem_5);JMenuItem menuItem_1 = new JMenuItem("安全退出");menuItem_1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {exitSystemActionPerformed(e);}});menuItem_1.setIcon(new ImageIcon(MainFrm.class.getResource("/images/exit.png")));menu.add(menuItem_1);JMenu menu_1 = new JMenu("联系我们");menu_1.setIcon(new ImageIcon(MainFrm.class.getResource("/images/contact.png")));menuBar.add(menu_1);JMenuItem menuItem = new JMenuItem("联系方式");menuItem.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {MyContactInterFrm myContactInterFrm = new MyContactInterFrm();myContactInterFrm.setVisible(true);table.add(myContactInterFrm);}});menuItem.setIcon(new ImageIcon(MainFrm.class.getResource("/images/phnoe.png")));menu_1.add(menuItem);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));contentPane.setLayout(new BorderLayout(0, 0));setContentPane(contentPane);table = new JDesktopPane();contentPane.add(table, BorderLayout.CENTER);// 居中显示this.setLocationRelativeTo(null);// 最大化处理// this.setExtendedState(JFrame.MAXIMIZED_BOTH);}/*** 安全退出系统* * @param e*/private void exitSystemActionPerformed(ActionEvent e) {int n = JOptionPane.showConfirmDialog(null, "你确定要离开系统么");if (n == 0) {dispose();return;}}/*** 运行程序*/public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {MainFrm frame = new MainFrm();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}
}

GoodsAddInterFrm.java

package com.sjsq.view;import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;import javax.swing.ButtonGroup;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.LayoutStyle.ComponentPlacement;import com.sjsq.dao.GoodsDao;
import com.sjsq.dao.GoodsTypeDao;
import com.sjsq.model.Goods;
import com.sjsq.model.GoodsType;
import com.sjsq.util.DbUtil;
import com.sjsq.util.StringUtil;import javax.swing.ImageIcon;/*** 货物添加视图层* * @author shuijianshiqing**/
public class GoodsAddInterFrm extends JInternalFrame {private JTextField goodsNameTxt;private JTextField goodsSupplierTxt;private JTextField priceTxt;private JTextArea goodsDescTxt;private JComboBox goodsTypeNameJcb;private JRadioButton manJrb;private JRadioButton femaleJrb;private final ButtonGroup buttonGroup = new ButtonGroup();private static DbUtil dbUtil = new DbUtil();private static GoodsDao goodsDao = new GoodsDao();/*** 创建窗体*/public GoodsAddInterFrm() {setClosable(true);setIconifiable(true);setTitle("货物添加");setBounds(100, 100, 596, 399);JLabel lblNewLabel = new JLabel("货物名称:");goodsNameTxt = new JTextField();goodsNameTxt.setColumns(10);JLabel lblNewLabel_1 = new JLabel("货物供应商:");goodsSupplierTxt = new JTextField();goodsSupplierTxt.setColumns(10);JLabel label = new JLabel("供应商性别:");manJrb = new JRadioButton("男");buttonGroup.add(manJrb);manJrb.setSelected(true);femaleJrb = new JRadioButton("女");buttonGroup.add(femaleJrb);JLabel lblNewLabel_2 = new JLabel("货物价格:");priceTxt = new JTextField();priceTxt.setColumns(10);JLabel label_1 = new JLabel("货物类别:");goodsTypeNameJcb = new JComboBox();JLabel label_2 = new JLabel("货物描述:");goodsDescTxt = new JTextArea();JButton button = new JButton("添加");button.setIcon(new ImageIcon(GoodsAddInterFrm.class.getResource("/images/add.png")));button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {addGoodsActionPerformed(arg0);}});JButton button_1 = new JButton("重置");button_1.setIcon(new ImageIcon(GoodsAddInterFrm.class.getResource("/images/reset.png")));button_1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {resetValueActionPerformed(e);}});GroupLayout groupLayout = new GroupLayout(getContentPane());groupLayout.setHorizontalGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addGap(45).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addComponent(label_2).addGap(3).addComponent(goodsDescTxt, GroupLayout.PREFERRED_SIZE, 346,GroupLayout.PREFERRED_SIZE)).addGroup(groupLayout.createSequentialGroup().addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false).addGroup(groupLayout.createSequentialGroup().addComponent(label_1).addPreferredGap(ComponentPlacement.RELATED).addComponent(goodsTypeNameJcb, 0, GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE)).addGroup(groupLayout.createSequentialGroup().addComponent(lblNewLabel).addPreferredGap(ComponentPlacement.RELATED).addComponent(goodsNameTxt, GroupLayout.PREFERRED_SIZE, 99,GroupLayout.PREFERRED_SIZE)).addGroup(groupLayout.createSequentialGroup().addComponent(label).addPreferredGap(ComponentPlacement.UNRELATED).addComponent(manJrb).addPreferredGap(ComponentPlacement.UNRELATED).addComponent(femaleJrb))).addGap(65).addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false).addGroup(groupLayout.createSequentialGroup().addComponent(lblNewLabel_1).addPreferredGap(ComponentPlacement.RELATED).addComponent(goodsSupplierTxt,GroupLayout.PREFERRED_SIZE, 102,GroupLayout.PREFERRED_SIZE)).addGroup(groupLayout.createSequentialGroup().addComponent(lblNewLabel_2).addGap(18).addComponent(priceTxt)))))).addGroup(groupLayout.createSequentialGroup().addGap(149).addComponent(button).addGap(119).addComponent(button_1))).addContainerGap(126, Short.MAX_VALUE)));groupLayout.setVerticalGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addGap(38).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(lblNewLabel).addComponent(goodsNameTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE).addComponent(lblNewLabel_1).addComponent(goodsSupplierTxt, GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)).addGap(28).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(label).addComponent(manJrb).addComponent(femaleJrb).addComponent(lblNewLabel_2).addComponent(priceTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE)).addGap(28).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(label_1).addComponent(goodsTypeNameJcb, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE)).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addGap(35).addComponent(label_2)).addGroup(groupLayout.createSequentialGroup().addGap(36).addComponent(goodsDescTxt,GroupLayout.PREFERRED_SIZE, 83, GroupLayout.PREFERRED_SIZE))).addPreferredGap(ComponentPlacement.RELATED, 25, Short.MAX_VALUE).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(button_1).addComponent(button)).addGap(22)));getContentPane().setLayout(groupLayout);// 填充下拉列表this.fillGoodsType();}/*** 货物添加事件* * @param arg0*/private void addGoodsActionPerformed(ActionEvent arg0) {String goodsName = this.goodsNameTxt.getText();String goodsSupplier = this.goodsSupplierTxt.getText();String price = this.priceTxt.getText();String goodsDesc = this.goodsDescTxt.getText();if (StringUtil.isEmpty(goodsName)) {JOptionPane.showMessageDialog(null, "货物名称不能为空!");return;}if (StringUtil.isEmpty(goodsSupplier)) {JOptionPane.showMessageDialog(null, "货物供货商不能为空!");return;}if (StringUtil.isEmpty(goodsDesc)) {JOptionPane.showMessageDialog(null, "货物描述不能为空!");return;}if (StringUtil.isEmpty(price)) {JOptionPane.showMessageDialog(null, "货物价格不能为空!");return;}String sex = "";if (manJrb.isSelected()) {sex = "男";} else if (femaleJrb.isSelected()) {sex = "女";}GoodsType goodsTypeName = (GoodsType) this.goodsTypeNameJcb.getSelectedItem();int goodsTypeId = goodsTypeName.getId();String goodsTypeNames = goodsTypeName.getGoodsTypeName();Goods goods = new Goods(goodsName, goodsSupplier, sex, Double.parseDouble(price), goodsDesc, goodsTypeId,goodsTypeNames);Connection conn = null;try {conn = DbUtil.getCon();int result = goodsDao.addGoods(conn, goods);if (result == 1) {JOptionPane.showMessageDialog(null, "货物添加成功!");this.resetValue();} else {JOptionPane.showMessageDialog(null, "货物添加失败!");}} catch (Exception e) {e.printStackTrace();} finally {try {dbUtil.close(conn);} catch (SQLException e) {e.printStackTrace();}}}/*** 货物表单重置事件* * @param e*/private void resetValueActionPerformed(ActionEvent e) {this.resetValue();}/*** 表单重置事件*/private void resetValue() {this.goodsNameTxt.setText("");this.goodsSupplierTxt.setText("");this.priceTxt.setText("");this.goodsDescTxt.setText("");this.manJrb.setSelected(true);if (goodsTypeNameJcb.getItemCount() > 0) {goodsTypeNameJcb.setSelectedIndex(0);}}/*** 填充下拉列表货物类型*/private void fillGoodsType() {Connection conn = null;GoodsType goodsType = null;ResultSet rs = null;try {conn = DbUtil.getCon();rs = GoodsTypeDao.listGoodsType(conn, new GoodsType());while (rs.next()) {goodsType = new GoodsType();goodsType.setId(rs.getInt("id"));goodsType.setGoodsTypeName(rs.getString("goodsTypeName"));this.goodsTypeNameJcb.addItem(goodsType);}} catch (Exception e) {e.printStackTrace();} finally {try {DbUtil.close(conn, rs);} catch (SQLException e) {e.printStackTrace();}}}/*** 运行程序*/public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {GoodsAddInterFrm frame = new GoodsAddInterFrm();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}
}

GoodsManagerInterFrm.java

package com.sjsq.view;import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;import javax.swing.ButtonGroup;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;import com.sjsq.dao.GoodsDao;
import com.sjsq.dao.GoodsTypeDao;
import com.sjsq.model.Goods;
import com.sjsq.model.GoodsType;
import com.sjsq.util.DbUtil;
import com.sjsq.util.StringUtil;/*** 货物管理视图层* * @author shuijianshiqing**/
public class GoodsManagerInterFrm extends JInternalFrame {private JTable goodsTable;private JTextField s_goodsNameTxt;private JTextField s_goodsSupplierTxt;private JTextField goodsIdTxt;private JTextField goodsNameTxt;private JTextField priceTxt;private JTextField goodsSupplierTxt;private JTextArea goodsDescTxt;private JComboBox goodsTypeNameJcb;private JRadioButton manJrb;private JRadioButton femaleJrb;private JComboBox s_goodsTypeNameJcbTxt;private final ButtonGroup buttonGroup = new ButtonGroup();private static DbUtil dbUtil = new DbUtil();private static GoodsDao goodsDao = new GoodsDao();private static GoodsTypeDao goodsTypeDao = new GoodsTypeDao();/*** 创建窗体*/public GoodsManagerInterFrm() {setTitle("货物物品管理");setIconifiable(true);setClosable(true);setBounds(100, 100, 732, 532);JScrollPane scrollPane = new JScrollPane();JPanel panel = new JPanel();panel.setBorder(new TitledBorder(null, "货物物品添加", TitledBorder.LEADING, TitledBorder.TOP, null, null));// 搜索部分JLabel label = new JLabel("货物名称:");s_goodsNameTxt = new JTextField();s_goodsNameTxt.setColumns(10);JLabel label_1 = new JLabel("供货商:");s_goodsSupplierTxt = new JTextField();s_goodsSupplierTxt.setColumns(10);JLabel label_2 = new JLabel("货物类别:");s_goodsTypeNameJcbTxt = new JComboBox();JButton button = new JButton("搜索:");button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {searchGoodsActionPerformed(arg0);}});button.setIcon(new ImageIcon(GoodsManagerInterFrm.class.getResource("/images/Search.png")));GroupLayout gl_panel = new GroupLayout(panel);gl_panel.setHorizontalGroup(gl_panel.createParallelGroup(Alignment.LEADING).addGroup(gl_panel.createSequentialGroup().addContainerGap().addComponent(label).addPreferredGap(ComponentPlacement.RELATED).addComponent(s_goodsNameTxt, GroupLayout.PREFERRED_SIZE, 87, GroupLayout.PREFERRED_SIZE).addGap(30).addComponent(label_1).addPreferredGap(ComponentPlacement.RELATED).addComponent(s_goodsSupplierTxt, GroupLayout.PREFERRED_SIZE, 86, GroupLayout.PREFERRED_SIZE).addGap(18).addComponent(label_2).addPreferredGap(ComponentPlacement.RELATED).addComponent(s_goodsTypeNameJcbTxt, GroupLayout.PREFERRED_SIZE, 119, GroupLayout.PREFERRED_SIZE).addPreferredGap(ComponentPlacement.RELATED, 22, Short.MAX_VALUE).addComponent(button).addContainerGap()));gl_panel.setVerticalGroup(gl_panel.createParallelGroup(Alignment.LEADING).addGroup(gl_panel.createSequentialGroup().addContainerGap().addGroup(gl_panel.createParallelGroup(Alignment.BASELINE).addComponent(label).addComponent(s_goodsNameTxt, GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addComponent(label_1).addComponent(s_goodsSupplierTxt, GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addComponent(label_2).addComponent(s_goodsTypeNameJcbTxt, GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addComponent(button)).addContainerGap(17, Short.MAX_VALUE)));panel.setLayout(gl_panel);// 修改部分JPanel panel_1 = new JPanel();panel_1.setBorder(new TitledBorder(null, "货物物品修改", TitledBorder.LEADING, TitledBorder.TOP, null, null));GroupLayout groupLayout = new GroupLayout(getContentPane());groupLayout.setHorizontalGroup(groupLayout.createParallelGroup(Alignment.TRAILING).addGroup(groupLayout.createSequentialGroup().addGap(31).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addComponent(panel_1, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE,GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addGroup(Alignment.TRAILING,groupLayout.createParallelGroup(Alignment.LEADING, false).addComponent(panel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE).addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 631,Short.MAX_VALUE))).addGap(40)));groupLayout.setVerticalGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addGap(23).addComponent(panel, GroupLayout.PREFERRED_SIZE, 66, GroupLayout.PREFERRED_SIZE).addGap(18).addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 119, GroupLayout.PREFERRED_SIZE).addGap(18).addComponent(panel_1, GroupLayout.DEFAULT_SIZE, 249, Short.MAX_VALUE).addContainerGap()));JLabel lblNewLabel = new JLabel("货物名称:");goodsIdTxt = new JTextField();goodsIdTxt.setEnabled(false);goodsIdTxt.setColumns(10);JLabel label_3 = new JLabel("货物名称:");goodsNameTxt = new JTextField();goodsNameTxt.setColumns(10);JLabel label_4 = new JLabel("供货商性别:");manJrb = new JRadioButton("男");buttonGroup.add(manJrb);manJrb.setSelected(true);femaleJrb = new JRadioButton("女");buttonGroup.add(femaleJrb);JLabel lblNewLabel_1 = new JLabel("\u8D27\u7269\u4EF7\u683C\uFF1A");priceTxt = new JTextField();priceTxt.setColumns(10);JLabel label_5 = new JLabel("货物价格:");goodsSupplierTxt = new JTextField();goodsSupplierTxt.setColumns(10);JLabel label_6 = new JLabel("供货商:");goodsTypeNameJcb = new JComboBox();JLabel label_7 = new JLabel("货物类别:");goodsDescTxt = new JTextArea();JButton button_1 = new JButton("修改");button_1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {modifyGoodsActionPerformed(arg0);}});button_1.setIcon(new ImageIcon(GoodsManagerInterFrm.class.getResource("/images/modify.png")));JButton button_2 = new JButton("重置");button_2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {resetValueActionPerformed(arg0);}});button_2.setIcon(new ImageIcon(GoodsManagerInterFrm.class.getResource("/images/reset.png")));JButton button_3 = new JButton("删除");button_3.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {deleteGoodsActionPerformed(arg0);}});button_3.setIcon(new ImageIcon(GoodsManagerInterFrm.class.getResource("/images/delete.png")));GroupLayout gl_panel_1 = new GroupLayout(panel_1);gl_panel_1.setHorizontalGroup(gl_panel_1.createParallelGroup(Alignment.LEADING).addGroup(gl_panel_1.createSequentialGroup().addContainerGap().addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING).addGroup(gl_panel_1.createSequentialGroup().addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING).addGroup(gl_panel_1.createSequentialGroup().addComponent(lblNewLabel).addPreferredGap(ComponentPlacement.RELATED).addComponent(goodsIdTxt, GroupLayout.PREFERRED_SIZE, 53, GroupLayout.PREFERRED_SIZE).addGap(26).addComponent(label_3).addPreferredGap(ComponentPlacement.RELATED).addComponent(goodsNameTxt, GroupLayout.PREFERRED_SIZE, 111,GroupLayout.PREFERRED_SIZE)).addGroup(gl_panel_1.createSequentialGroup().addComponent(lblNewLabel_1).addPreferredGap(ComponentPlacement.RELATED).addComponent(priceTxt, GroupLayout.PREFERRED_SIZE, 84,GroupLayout.PREFERRED_SIZE).addGap(26).addComponent(label_5).addPreferredGap(ComponentPlacement.RELATED).addComponent(goodsSupplierTxt, GroupLayout.PREFERRED_SIZE, 112,GroupLayout.PREFERRED_SIZE))).addGap(50).addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING).addGroup(gl_panel_1.createSequentialGroup().addComponent(label_4).addPreferredGap(ComponentPlacement.UNRELATED).addComponent(manJrb).addGap(18).addComponent(femaleJrb)).addGroup(gl_panel_1.createSequentialGroup().addComponent(label_6).addGap(18).addComponent(goodsTypeNameJcb, GroupLayout.PREFERRED_SIZE, 127,GroupLayout.PREFERRED_SIZE)))).addComponent(label_7).addComponent(goodsDescTxt, Alignment.TRAILING,GroupLayout.PREFERRED_SIZE, 518, GroupLayout.PREFERRED_SIZE)).addContainerGap(30, Short.MAX_VALUE)).addGroup(gl_panel_1.createSequentialGroup().addGap(93).addComponent(button_1).addPreferredGap(ComponentPlacement.RELATED, 128, Short.MAX_VALUE).addComponent(button_2).addGap(112).addComponent(button_3).addGap(69)));gl_panel_1.setVerticalGroup(gl_panel_1.createParallelGroup(Alignment.LEADING).addGroup(gl_panel_1.createSequentialGroup().addGap(21).addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE).addComponent(lblNewLabel).addComponent(goodsIdTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE).addComponent(label_3).addComponent(goodsNameTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE).addComponent(femaleJrb).addComponent(manJrb).addComponent(label_4)).addGap(18).addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE).addComponent(lblNewLabel_1).addComponent(priceTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE).addComponent(label_5).addComponent(goodsSupplierTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE).addComponent(label_6).addComponent(goodsTypeNameJcb, GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)).addGap(18).addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING).addComponent(label_7).addComponent(goodsDescTxt, GroupLayout.PREFERRED_SIZE, 62, GroupLayout.PREFERRED_SIZE)).addPreferredGap(ComponentPlacement.RELATED, 29, Short.MAX_VALUE).addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE).addComponent(button_1).addComponent(button_3).addComponent(button_2)).addContainerGap()));panel_1.setLayout(gl_panel_1);goodsTable = new JTable();goodsTable.addMouseListener(new MouseAdapter() {@Overridepublic void mousePressed(MouseEvent arg0) {MouseClickGoodsTableActionPerformed(arg0);}});goodsTable.setModel(new DefaultTableModel(new Object[][] {},new String[] { "货物编号", "货物名称","供货商", "性别","货物价格", "货物描述", "货物类别" }) {boolean[] columnEditables = new boolean[] { false, false, false, false, false, false, false };public boolean isCellEditable(int row, int column) {return columnEditables[column];}});scrollPane.setViewportView(goodsTable);getContentPane().setLayout(groupLayout);// 填充表单this.fillGoodsTable(new Goods());this.fillGoodsTypeNameItem("search");this.fillGoodsTypeNameItem("modify");}/*** 货物删除事件* * @param arg0*/private void deleteGoodsActionPerformed(ActionEvent arg0) {String id = this.goodsIdTxt.getText();if (StringUtil.isEmpty(id)) {JOptionPane.showMessageDialog(null, "请选择要删除的货物");return;}int n = JOptionPane.showConfirmDialog(null, "确定要删除此货物?");Goods goods = new Goods(Integer.parseInt(id));if (n == 0) {Connection conn = null;try {conn = dbUtil.getCon();int result = goodsDao.deleteGoods(conn, goods);if (result == 1) {JOptionPane.showMessageDialog(null, "货物删除成功!");this.resetValue();this.fillGoodsTable(new Goods());} else {JOptionPane.showMessageDialog(null, "货物删除失败!");}} catch (Exception e) {e.printStackTrace();JOptionPane.showMessageDialog(null, "货物删除失败!");} finally {try {dbUtil.close(conn);} catch (SQLException e) {e.printStackTrace();}}}}/*** 货物修改事件* * @param a*/private void modifyGoodsActionPerformed(Object a) {String id = this.goodsIdTxt.getText();String goodsName = this.goodsNameTxt.getText();String price = this.priceTxt.getText();String goodsSupplier = this.goodsSupplierTxt.getText();String goodsDesc = this.goodsDescTxt.getText();if (StringUtil.isEmpty(id)) {JOptionPane.showMessageDialog(null, "请选择要修改的货物");return;}if (StringUtil.isEmpty(goodsName)) {JOptionPane.showMessageDialog(null, "货物名称不能为空!");return;}if (StringUtil.isEmpty(price)) {JOptionPane.showMessageDialog(null, "货物价格不能为空!");return;}if (StringUtil.isEmpty(goodsSupplier)) {JOptionPane.showMessageDialog(null, "供货商名称不能为空!");return;}if (StringUtil.isEmpty(goodsDesc)) {JOptionPane.showMessageDialog(null, "货物描述不能为空!");return;}String sex = "";if (manJrb.isSelected()) {sex = "男";} else if (femaleJrb.isSelected()) {sex = "女";}GoodsType goodsType = (GoodsType) this.goodsTypeNameJcb.getSelectedItem();int goodsTypeId = goodsType.getId();Goods goods = new Goods(Integer.parseInt(id), goodsName, goodsSupplier, sex, Double.parseDouble(price),goodsDesc, goodsTypeId);Connection conn = null;try {conn = DbUtil.getCon();int result = GoodsDao.updateGoods(conn, goods);if (result == 1) {JOptionPane.showMessageDialog(null, "货物修改成功!");this.fillGoodsTable(new Goods());} else {JOptionPane.showMessageDialog(null, "货物修改失败!");}} catch (Exception e) {e.printStackTrace();JOptionPane.showMessageDialog(null, "货物修改失败!");} finally {try {dbUtil.close(conn);} catch (SQLException e) {e.printStackTrace();}}}/*** 货物搜索事件* * @param arg0*/private void searchGoodsActionPerformed(ActionEvent arg0) {String goodsName = this.s_goodsNameTxt.getText();String goodsSupplier = this.s_goodsSupplierTxt.getText();GoodsType goodsType = (GoodsType) this.s_goodsTypeNameJcbTxt.getSelectedItem();int goodsTypeId = goodsType.getId();Goods goods = new Goods(goodsName, goodsSupplier, goodsTypeId);this.fillGoodsTable(goods);}/*** 填充下拉列表菜单* * @param type*/private void fillGoodsTypeNameItem(String type) {Connection conn = null;GoodsType goodsType = null;ResultSet rs = null;try {conn = dbUtil.getCon();rs = goodsTypeDao.listGoodsType(conn, new GoodsType());if ("search".equals(type)) {goodsType = new GoodsType();goodsType.setGoodsTypeName("请选择...");goodsType.setId(-1);this.s_goodsTypeNameJcbTxt.addItem(goodsType);}while (rs.next()) {goodsType = new GoodsType();goodsType.setId(rs.getInt("id"));goodsType.setGoodsTypeName(rs.getString("goodsTypeName"));if ("search".equals(type)) {this.s_goodsTypeNameJcbTxt.addItem(goodsType);} else if ("modify".equals(type)) {this.goodsTypeNameJcb.addItem(goodsType);}}} catch (Exception e) {e.printStackTrace();} finally {try {dbUtil.close(conn, rs);} catch (SQLException e) {e.printStackTrace();}}}/*** 填充表单事件* * @param goods*/private void fillGoodsTable(Goods goods) {DefaultTableModel dtm = (DefaultTableModel) goodsTable.getModel();dtm.setRowCount(0);Connection conn = null;ResultSet rs = null;try {conn = DbUtil.getCon();rs = goodsDao.listGoods(conn, goods);while (rs.next()) {Vector v = new Vector();v.add(rs.getString("id"));v.add(rs.getString("goodsName"));v.add(rs.getString("goodsSupplier"));v.add(rs.getString("sex"));v.add(rs.getString("price"));v.add(rs.getString("goodsDesc"));v.add(rs.getString("goodsTypeName"));dtm.addRow(v);}} catch (Exception e) {e.printStackTrace();} finally {try {dbUtil.close(conn, rs);} catch (SQLException e) {e.printStackTrace();}}}/*** 鼠标点击事件* * @param arg0*/private void MouseClickGoodsTableActionPerformed(MouseEvent arg0) {int row = this.goodsTable.getSelectedRow();this.goodsIdTxt.setText(goodsTable.getValueAt(row, 0) + "");this.goodsNameTxt.setText(goodsTable.getValueAt(row, 1) + "");this.goodsSupplierTxt.setText(goodsTable.getValueAt(row, 2) + "");String sex = (String) goodsTable.getValueAt(row, 3);if ("男".equals(sex)) {this.manJrb.setSelected(true);} else if ("女".equals(sex)) {this.femaleJrb.setSelected(true);}this.priceTxt.setText(goodsTable.getValueAt(row, 4) + "");this.goodsDescTxt.setText(goodsTable.getValueAt(row, 5) + "");String goodsTypeName = (String) this.goodsTable.getValueAt(row, 6);int n = this.goodsTypeNameJcb.getItemCount();for (int i = 0; i < n; i++) {GoodsType item = (GoodsType) this.goodsTypeNameJcb.getItemAt(i);if (item.getGoodsTypeName().equals(goodsTypeName)) {this.goodsTypeNameJcb.setSelectedIndex(i);}}}/*** 重置事件* * @param arg0*/private void resetValueActionPerformed(ActionEvent arg0) {this.resetValue();}/*** 重置表单*/private void resetValue() {this.goodsIdTxt.setText("");this.goodsNameTxt.setText("");this.goodsSupplierTxt.setText("");this.priceTxt.setText("");this.goodsDescTxt.setText("");this.manJrb.setSelected(true);// 下拉菜单的重置if (this.goodsTypeNameJcb.getItemCount() > 0) {this.goodsTypeNameJcb.setSelectedIndex(0);}}/*** 运行程序*/public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {GoodsManagerInterFrm frame = new GoodsManagerInterFrm();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}
}

GoodsTypeAddInterFrm.java

package com.sjsq.view;import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.SQLException;import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.LayoutStyle.ComponentPlacement;import com.sjsq.dao.GoodsTypeDao;
import com.sjsq.model.GoodsType;
import com.sjsq.util.DbUtil;
import com.sjsq.util.StringUtil;/*** goodsType视图层货物类别添加* * @author shuijianshiqing**/
public class GoodsTypeAddInterFrm extends JInternalFrame {// 货物名字private JTextField goodsTypeNameTxt;private JTextArea goodsTypeDescTxt;// 货物描述private DbUtil dbUtil = new DbUtil();private GoodsTypeDao goodsTypeDao = new GoodsTypeDao();/*** 创建窗体*/public GoodsTypeAddInterFrm() {setClosable(true);setIconifiable(true);setTitle("货物类型添加");setBounds(100, 100, 528, 392);JLabel lblNewLabel = new JLabel("货物类型名称:");lblNewLabel.setIcon(new ImageIcon(GoodsTypeAddInterFrm.class.getResource("/images/goods.png")));JLabel label = new JLabel("货物类型描述:");label.setIcon(new ImageIcon(GoodsTypeAddInterFrm.class.getResource("/images/goods.png")));goodsTypeNameTxt = new JTextField();goodsTypeNameTxt.setColumns(10);goodsTypeDescTxt = new JTextArea();JButton button = new JButton("添加");button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {goodsTypeAddActionPerformed(e);}});button.setIcon(new ImageIcon(GoodsTypeAddInterFrm.class.getResource("/images/add.png")));JButton button_1 = new JButton("重置");button_1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {goodsTypeResetValueActionPerformed(e);}});button_1.setIcon(new ImageIcon(GoodsTypeAddInterFrm.class.getResource("/images/reset.png")));GroupLayout groupLayout = new GroupLayout(getContentPane());groupLayout.setHorizontalGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addGap(68).addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addComponent(label).addPreferredGap(ComponentPlacement.RELATED).addComponent(goodsTypeDescTxt)).addGroup(groupLayout.createSequentialGroup().addComponent(lblNewLabel).addPreferredGap(ComponentPlacement.RELATED).addComponent(goodsTypeNameTxt,GroupLayout.PREFERRED_SIZE, 212, GroupLayout.PREFERRED_SIZE))).addContainerGap(144, Short.MAX_VALUE)).addGroup(groupLayout.createSequentialGroup().addGap(91).addComponent(button).addGap(153).addComponent(button_1).addContainerGap(154, Short.MAX_VALUE)));groupLayout.setVerticalGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout.createSequentialGroup().addGap(47).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(lblNewLabel).addComponent(goodsTypeNameTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE)).addGap(35).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(label).addComponent(goodsTypeDescTxt, GroupLayout.PREFERRED_SIZE, 105, GroupLayout.PREFERRED_SIZE)).addPreferredGap(ComponentPlacement.RELATED, 88, Short.MAX_VALUE).addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(button).addComponent(button_1)).addGap(44)));getContentPane().setLayout(groupLayout);}/*** 货物类型添加事件* * @param e*/private void goodsTypeAddActionPerformed(ActionEvent e) {String goodsTypeName = this.goodsTypeNameTxt.getText();String goodsTypeDesc = this.goodsTypeDescTxt.getText();if (StringUtil.isEmpty(goodsTypeName)) {JOptionPane.showMessageDialog(null, "货物类型名称不能为空!");return;}if (StringUtil.isEmpty(goodsTypeDesc)) {JOptionPane.showMessageDialog(null, "货物类型描述不能为空!");return;}GoodsType goodsType = new GoodsType(goodsTypeName, goodsTypeDesc);Connection conn = null;try {conn = dbUtil.getCon();int result = goodsTypeDao.addGoodsType(conn, goodsType);if (result == 1) {JOptionPane.showMessageDialog(null, "货物类别添加成功!");this.resetValue();// 添加成功,重置表单} else {JOptionPane.showMessageDialog(null, "货物类别添加失败!");}} catch (Exception e1) {e1.printStackTrace();JOptionPane.showMessageDialog(null, "货物类别添加失败!");} finally {try {dbUtil.close(conn);} catch (SQLException e1) {e1.printStackTrace();}}}/*** 重置事件* * @param e*/private void goodsTypeResetValueActionPerformed(ActionEvent e) {this.resetValue();}/*** 重置表单*/private void resetValue() {this.goodsTypeNameTxt.setText("");this.goodsTypeDescTxt.setText("");}/*** 运行程序*/public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {GoodsTypeAddInterFrm frame = new GoodsTypeAddInterFrm();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}}

四、其他

JavaWeb系统系列实现

Java+JSP实现学生图书管理系统
Java+JSP实现学生信息管理系统
Java+JSP实现用户信息管理系统
Java+Servlet+JSP实现航空订票系统
Java+Servlet+JSP实现房屋租赁管理系统
Java+Servlet+JSP实现学生选课管理系统
Java+Servlet+JSP实现学生成绩管理系统
Java+Servlet+JSP实现宠物诊所管理系统
Java+SSM+Easyui实现网上考试系统
Java+Springboot+H-ui实现营销管理系统
Java+Springboot+Mybatis+Bootstrap实现网上商城系统

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实现自助取款机(ATM)系统
Java+Swing实现超市管理系统-TXT存储信息
Java+Swing实现宠物商店管理系统-TXT存储信息

2.获取源码

点击以下链接获取源码
Java+Swing+Mysql实现仓库管理系统源码

3.运行项目

请走点击以下链接,部署你的项目。
Eclipse如何导入JavaSwing项目超详细教程

4.备注

如有侵权请联系我删除。

5.联系博主

左侧关注微信公众号,里面有Java教程和一些Java资源。如果此文对您有帮助,请关注加点赞,谢谢!

更多推荐

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

本文发布于:2024-02-11 18:55:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1682735.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:仓库管理系统   Eclipse   Java   Swing

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!