精华内容
下载资源
问答
  • 对Java的一种提高。。将其用于真正的实践中。。实现动手能力的加强
  • Eclipse+Java+Swing实现仓库管理系统

    千次阅读 2020-08-26 23:58:58
    Java+Swing实现仓库管理系统一、系统介绍二、系统展示1.登录页面2.主页面3.货物类型添加页面4.货物类型添加成功提示页面5.货物类别修改页面6.货物类型修改成功提示7.货物类型修改成功显示页面8.货物添加页面9.货物...

    一、系统介绍

    本系统实现了用户登录,实现了对货物类别的增删改查,实现了对货物的增删改查,数据库使用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;
    	}
    
    	@Override
    	public 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 {
    	
    	// 货物类型Id
    	private 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;
    	}
    
    	@Override
    	public 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 block
    			e.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 stub
    		this.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() {
    			@Override
    			public 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();
    				}
    			}
    		});
    	}
    
    }
    
    

    四、其他

    1.其他系统实现

    Java+Swing实现学生信息管理系统
    Java+Swing实现学生宿舍管理系统
    Java+Swing实现学生选课管理系统

    2.获取源码

    请联系QQ:3079118617

    3.侵权事宜

    我也是网上找到的资源,好像是是叫Peter写的,感谢原作者的付出。若此文章侵犯您的权益,请通知我删除,谢谢。

    4.鸡汤

    最近一直在跑步,身体感觉棒棒哒。唯有读书与跑步不可辜负!

    展开全文
  • 图书仓库管理系统java+sql+eclipse经典打造课程设计
  • 基于SSM框架的仓库管理系统 运行环境 jdk1.8 tomcat8.0 mysql5.7 登录账号 账号:1001 密码:123456 登录界面如下所示: 库存查询模块: 支持Excel导入导出功能: 添加库存信息: 出库记录查询: 商品入库...

    WMS

    基于SSM框架的仓库管理系统

    运行环境

    jdk1.8

    tomcat8.0

    mysql5.7

    登录账号

    账号:1001

    密码:123456

    登录界面如下所示:
    在这里插入图片描述
    库存查询模块:
    在这里插入图片描述
    支持Excel导入导出功能:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    添加库存信息:
    在这里插入图片描述
    在这里插入图片描述
    出库记录查询:
    在这里插入图片描述
    在这里插入图片描述
    商品入库记录查询:
    在这里插入图片描述
    在这里插入图片描述
    供应商信息:
    在这里插入图片描述
    客户信息管理:
    在这里插入图片描述
    仓库信息管理:
    在这里插入图片描述
    修改密码:
    在这里插入图片描述
    源码下载地址:
    https://download.csdn.net/download/zgz102928/13731187

    展开全文
  • 仓库管理系统

    2018-05-06 00:02:45
    仓库管理系统 开发平台:eclipse 数据库平台:mysqlyog 登陆 用户名:feeling(管理员) 密码:123 设计文档不予上传。 本系统版权为feeling个人所有
  • 仓库管理系统纯代码

    2018-03-05 09:18:55
    仓库管理系统纯代码与仓库管理系统设计关联,java,eclipse
  • JAVAEE仓库管理系统

    2020-12-19 18:29:41
    本系统是基于Eclipse+MySQL+Tomcat+SSM开发的仓库管理系统,支持出入库,客户管理,支持导入导出,支持供应商管理,用Eclipse导入就可以运行,博客的详细地址伟:https://editor.csdn.net/md/?articleId=111408485
  • java仓库管理系统

    2019-02-11 10:24:37
    此java工程是使用java swing 图形界面开发的仓库管理系统,功能包括用户管理,权限管理,角色管理,库存管理,报表统计及导出功能可用于高校毕业设计及二次开发,已将源码和mysql建表脚本上传至该压缩包,将工程导入...
  • 10080基于SSH开发的仓库管理系统 开发工具 eclipse + tomact + mysql + jdk 功能详情: 商品管理 进货管理 出货管理 用户管理 基础信息

    10080基于SSH开发的仓库管理系统

    开发工具
    eclipse + tomact + mysql + jdk

    功能详情:

    商品管理
    进货管理
    出货管理
    用户管理
    基础信息

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 手机仓库管理系统.zip

    2019-06-06 11:58:14
    本系统为java开发的手机仓库管理系统,开发工具Eclipse,使用Jdk9,数据库使用MySQL,只需修改用户名和密码即可
  • 适合新手的javaweb仓库管理系统eclipse开发
  • 仓库管理系统.zip

    2019-06-04 21:43:19
    系统利用Eclipse、SQL Server数据库和 GUI(图形用户界面)的Swing实现,Java组件有:JFrame窗体,布局管理器中的绝对布局,边界布局管理器,JPanel面板,JLabel标签和JToolBar等,可实现用户注册登录、仓库和商品...
  • 医院仓库管理系统.zip

    2019-07-28 14:15:09
    主要是一个管理系统,可以通过eclipse对数据库中数据进行增删改查,主要是一个管理系统,可以通过eclipse对数据库中数据进行增删改查,主要是一个管理系统,可以通过eclipse对数据库中数据进行增删改查
  • JAVA EE仓库管理系统

    2010-07-01 09:30:38
    很好的仓库管理系统~~在Eclipse平台下,整合Servlet技术和JSP技术,有登陆界面,有后台管理~~
  • Java 仓库管理系统.docx

    2020-03-27 10:18:54
    eclipse Java库存管理系统,可实现库存查询,库存修改
  • 简单的仓库管理系统

    2018-03-12 17:17:17
    Tomcat+eclipse+MySQL,建立的表有客户表、用户表、仓库表、内存表。含有详细报告
  • JAVA源码,综合应用,仓库管理系统  Java仓库管理系统,应朋友需求而开发,由于时间和本人技术上的原因无法做尽善尽美,若有不足之处,请加以指证!欢迎你的来信和我探讨,我将虚怀以待更不胜欢喜!程序作者:春意盎然...
  • 这是 struts + hibernate + jquery 完整的java 仓库管理系统项目源码 可以直接导入eclipse、myeclipse。内附数据库文件 mysql版,也可改成其它数据库, 换对应数据库连接驱动和修改sql语法即可
  • 10080基于SSH开发的仓库管理系统 技术 SSH 开发工具 eclipse + tomact + mysql + jdk 功能详情: 商品管理 进货管理 出货管理 用户管理 基础信息

    10080基于SSH开发的仓库管理系统

    技术
    SSH

    开发工具
    eclipse + tomact + mysql + jdk

    功能详情:

    商品管理
    进货管理
    出货管理
    用户管理
    基础信息

    在这里插入图片描述
    在这里插入图片描述

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 245
精华内容 98
关键字:

仓库管理系统eclipse