java swing 购物系统 简要文档 idea eclipse双版本

news2024/11/15 6:56:38

java swing 购物系统 简要文档 idea eclipse双版本

    • 安装包等资源
      • 项目源码
      • 项目安装包
      • 部署教程
    • 图片演示
      • 添加商品类别界面
      • 添加商品界面
      • 查询商品界面
      • 未登录主界面
      • 管理员登录界面
      • 注册会员界面
      • 购买商品界面
      • 商品类别管理界面
    • 核心代码
      • CustomerAddInterFrm.java
      • MainFrm.java
      • ManagerLogOnFrm.java
      • ViewMainFrm.java
    • 更多系统
    • 特别注明

安装包等资源

项目源码

https://download.csdn.net/download/qq_47168235/87881728

项目安装包

https://pan.baidu.com/s/1Gd-H5XZtzhmaqVgRAYd7aA?pwd=slev
【注:百度网盘里有我所有资源,请按需下载】

部署教程

https://pan.baidu.com/s/1ja7oAdIg5ktm87Ta0arswA?pwd=kcyo

图片演示

添加商品类别界面

在这里插入图片描述

添加商品界面

在这里插入图片描述

查询商品界面

在这里插入图片描述

未登录主界面

在这里插入图片描述

管理员登录界面

在这里插入图片描述

注册会员界面

在这里插入图片描述

购买商品界面

在这里插入图片描述

商品类别管理界面

在这里插入图片描述

核心代码

CustomerAddInterFrm.java

/*
 * CustomerAddInterFrm.java
 *
 * Created on __DATE__, __TIME__
 */

package com.view;

import java.sql.Connection;
import java.sql.ResultSet;

import javax.swing.JOptionPane;

import com.dao.CustomerUserDao;
import com.dao.ProductChosenDao;
import com.model.Customer;
import com.util.Dbutil;
import com.util.StringUtil;


/**
 *
 * @author  __USER__
 */
public class CustomerAddInterFrm extends javax.swing.JInternalFrame {

	Dbutil dbutil = new Dbutil();
	CustomerUserDao customerUserDao=new CustomerUserDao();
	ProductChosenDao productChosenDao = new ProductChosenDao();

	/** Creates new form CustomerAddInterFrm */
	public CustomerAddInterFrm() {
		initComponents();
		this.setLocation(200, 100);
	}

	/** This method is called from within the constructor to
	 * initialize the form.
	 * WARNING: Do NOT modify this code. The content of this method is
	 * always regenerated by the Form Editor.
	 */
	//GEN-BEGIN:initComponents
	// <editor-fold defaultstate="collapsed" desc="Generated Code">
	private void initComponents() {

		jLabel1 = new javax.swing.JLabel();
		userNameTxt = new javax.swing.JTextField();
		jLabel2 = new javax.swing.JLabel();
		password1Txt = new javax.swing.JPasswordField();
		jLabel3 = new javax.swing.JLabel();
		password2Txt = new javax.swing.JPasswordField();
		jLabel4 = new javax.swing.JLabel();
		moneyTxt = new javax.swing.JTextField();
		jb_Add = new javax.swing.JButton();
		jLabel5 = new javax.swing.JLabel();

		jLabel1.setText("\u7528\u6237\u540d");

		jLabel2.setText("\u5bc6\u7801");

		jLabel3.setText("\u5bc6\u7801");

		jLabel4.setText("\u5b58\u5165\u91d1\u989d");

		jb_Add.setText("\u6ce8\u518c");
		jb_Add.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				jb_AddActionPerformed(evt);
			}
		});
		setClosable(true);
		jLabel5.setFont(new java.awt.Font("微软雅黑", 0, 24));
		jLabel5.setText("\u6ce8\u518c\u65b0\u4f1a\u5458");

		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
				getContentPane());
		getContentPane().setLayout(layout);
		layout
				.setHorizontalGroup(layout
						.createParallelGroup(
								javax.swing.GroupLayout.Alignment.LEADING)
						.addGroup(
								layout
										.createSequentialGroup()
										.addGap(56, 56, 56)
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.LEADING)
														.addComponent(jLabel1)
														.addComponent(jLabel2)
														.addComponent(jLabel3)
														.addComponent(jLabel4))
										.addGap(35, 35, 35)
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.LEADING,
																false)
														.addComponent(jLabel5)
														.addComponent(
																password1Txt)
														.addComponent(
																userNameTxt,
																javax.swing.GroupLayout.DEFAULT_SIZE,
																167,
																Short.MAX_VALUE)
														.addComponent(
																password2Txt)
														.addGroup(
																layout
																		.createParallelGroup(
																				javax.swing.GroupLayout.Alignment.TRAILING)
																		.addComponent(
																				jb_Add)
																		.addComponent(
																				moneyTxt,
																				javax.swing.GroupLayout.PREFERRED_SIZE,
																				84,
																				javax.swing.GroupLayout.PREFERRED_SIZE)))
										.addContainerGap(88, Short.MAX_VALUE)));
		layout
				.setVerticalGroup(layout
						.createParallelGroup(
								javax.swing.GroupLayout.Alignment.LEADING)
						.addGroup(
								javax.swing.GroupLayout.Alignment.TRAILING,
								layout
										.createSequentialGroup()
										.addGap(14, 14, 14)
										.addComponent(
												jLabel5,
												javax.swing.GroupLayout.DEFAULT_SIZE,
												38, Short.MAX_VALUE)
										.addPreferredGap(
												javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.BASELINE)
														.addComponent(jLabel1)
														.addComponent(
																userNameTxt,
																javax.swing.GroupLayout.PREFERRED_SIZE,
																javax.swing.GroupLayout.DEFAULT_SIZE,
																javax.swing.GroupLayout.PREFERRED_SIZE))
										.addGap(27, 27, 27)
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.BASELINE)
														.addComponent(jLabel2)
														.addComponent(
																password1Txt,
																javax.swing.GroupLayout.PREFERRED_SIZE,
																javax.swing.GroupLayout.DEFAULT_SIZE,
																javax.swing.GroupLayout.PREFERRED_SIZE))
										.addGap(28, 28, 28)
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.LEADING)
														.addComponent(jLabel3)
														.addComponent(
																password2Txt,
																javax.swing.GroupLayout.PREFERRED_SIZE,
																javax.swing.GroupLayout.DEFAULT_SIZE,
																javax.swing.GroupLayout.PREFERRED_SIZE))
										.addGap(27, 27, 27)
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.BASELINE)
														.addComponent(jLabel4)
														.addComponent(
																moneyTxt,
																javax.swing.GroupLayout.PREFERRED_SIZE,
																javax.swing.GroupLayout.DEFAULT_SIZE,
																javax.swing.GroupLayout.PREFERRED_SIZE))
										.addGap(18, 18, 18)
										.addComponent(jb_Add).addContainerGap()));

		pack();
	}// </editor-fold>
	//GEN-END:initComponents

	private void jb_AddActionPerformed(java.awt.event.ActionEvent evt) {
		String  customerName=this.userNameTxt.getText();
		String password1=new String(this.password1Txt.getPassword());
		String password2=new String(this.password2Txt.getPassword());
		String money=this.moneyTxt.getText();
		if (StringUtil.isEmpty( customerName)) {
			JOptionPane.showMessageDialog(null, "用户名不能为空");
			return;
		}
		if (StringUtil.isEmpty(password1)) {
			JOptionPane.showMessageDialog(null, "密码不能为空");
			return;
		}
		if(!password2.equals(password1)){
			JOptionPane.showMessageDialog(null, "两次密码要相同");
			return;
		}
		if (Float.parseFloat(money)<=0) {
			JOptionPane.showMessageDialog(null, " 存入金钱数需为正!");
			return;
		}
		Customer customer=new Customer( customerName,  password1,
				password2, Float.parseFloat(money) );
		Connection con=null;
		try {
			con=dbutil.getCon();

			//搜索是否存在相同的用户名
			ResultSet rs = productChosenDao.customerList(con, customer);
			while(rs.next()){
				String customerName1=rs.getString("customerName");
				if(customerName.equals(customerName1)){


					JOptionPane.showMessageDialog(null, "用户名已存在!");
					return;
				}}
			con = dbutil.getCon();


			int 	addNum=customerUserDao.customerAdd(con, customer);
			if(addNum==1){


				JOptionPane.showMessageDialog(null, "注册成功");
				this.dispose();
			}else{


				JOptionPane.showMessageDialog(null, "注册失败");
			}





		}catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, "注册失败");
		}finally{
			try {
				dbutil.closeCon(con);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	//GEN-BEGIN:variables
	// Variables declaration - do not modify
	private javax.swing.JLabel jLabel1;
	private javax.swing.JLabel jLabel2;
	private javax.swing.JLabel jLabel3;
	private javax.swing.JLabel jLabel4;
	private javax.swing.JLabel jLabel5;
	private javax.swing.JButton jb_Add;
	private javax.swing.JTextField moneyTxt;
	private javax.swing.JPasswordField password1Txt;
	private javax.swing.JPasswordField password2Txt;
	private javax.swing.JTextField userNameTxt;
	// End of variables declaration//GEN-END:variables

}

MainFrm.java

/*
 * MainFrm.java
 *
 * Created on __DATE__, __TIME__
 */

package com.view;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

/**
 *
 * @author  __USER__
 */
public class MainFrm extends javax.swing.JFrame {

	/** Creates new form MainFrm */
	public MainFrm() {
		initComponents();
		//设置最大 化
		this.setExtendedState(JFrame.MAXIMIZED_BOTH);
	}

	/** This method is called from within the constructor to
	 * initialize the form.
	 * WARNING: Do NOT modify this code. The content of this method is
	 * always regenerated by the Form Editor.
	 */
	//GEN-BEGIN:initComponents
	// <editor-fold defaultstate="collapsed" desc="Generated Code">
	private void initComponents() {

		table = new javax.swing.JDesktopPane();
		jMenuBar1 = new javax.swing.JMenuBar();
		jMenu1 = new javax.swing.JMenu();
		jMenu3 = new javax.swing.JMenu();
		jmiProductTypeAdd = new javax.swing.JMenuItem();
		jmiProductTypeModify = new javax.swing.JMenuItem();
		jMenu4 = new javax.swing.JMenu();
		jmiProductAdd = new javax.swing.JMenuItem();
		jmiProductModify = new javax.swing.JMenuItem();
		jmiExit = new javax.swing.JMenuItem();
		jMenu2 = new javax.swing.JMenu();
		jMenuItem6 = new javax.swing.JMenuItem();

		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
		setTitle("\u8d2d\u7269\u7cfb\u7edf\u4e3b\u754c\u9762");

		jMenu1.setIcon(new javax.swing.ImageIcon(MainFrm.class.getResource(
				"/images\\base.png"))); // NOI18N
		jMenu1.setText("\u57fa\u672c\u6570\u636e\u7ef4\u62a4");

		jMenu3.setIcon(new javax.swing.ImageIcon(MainFrm.class.getResource(
				"/images\\manager.gif"))); // NOI18N
		jMenu3.setText("\u5546\u54c1\u79cd\u7c7b\u7ba1\u7406");

		jmiProductTypeAdd.setIcon(new javax.swing.ImageIcon(MainFrm.class.getResource(
				"/images\\add.png"))); // NOI18N
		jmiProductTypeAdd.setText("\u5546\u54c1\u7c7b\u522b\u6dfb\u52a0");
		jmiProductTypeAdd
				.addActionListener(new java.awt.event.ActionListener() {
					public void actionPerformed(java.awt.event.ActionEvent evt) {
						jmiProductTypeAddActionPerformed(evt);
					}
				});
		jMenu3.add(jmiProductTypeAdd);

		jmiProductTypeModify.setIcon(new javax.swing.ImageIcon(MainFrm.class.getResource(
				"/images\\modify.gif"))); // NOI18N
		jmiProductTypeModify.setText("\u5546\u54c1\u7c7b\u522b\u7ef4\u62a4");
		jmiProductTypeModify
				.addActionListener(new java.awt.event.ActionListener() {
					public void actionPerformed(java.awt.event.ActionEvent evt) {
						jmiProductTypeModifyActionPerformed(evt);
					}
				});
		jMenu3.add(jmiProductTypeModify);

		jMenu1.add(jMenu3);

		jMenu4
				.setIcon(new javax.swing.ImageIcon(MainFrm.class.getResource(
						"/images\\product manager.gif"))); // NOI18N
		jMenu4.setText("\u5546\u54c1\u7ba1\u7406");

		jmiProductAdd.setIcon(new javax.swing.ImageIcon(MainFrm.class.getResource(
				"/images\\shopadd.gif"))); // NOI18N
		jmiProductAdd.setText("\u5546\u54c1\u6dfb\u52a0");
		jmiProductAdd.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				jmiProductAddActionPerformed(evt);
			}
		});
		jMenu4.add(jmiProductAdd);

		jmiProductModify.setIcon(new javax.swing.ImageIcon(MainFrm.class.getResource(
				"/images\\modify.gif"))); // NOI18N
		jmiProductModify.setText("\u5546\u54c1\u7ef4\u62a4");
		jmiProductModify.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				jmiProductModifyActionPerformed(evt);
			}
		});
		jMenu4.add(jmiProductModify);

		jMenu1.add(jMenu4);

		jmiExit.setIcon(new javax.swing.ImageIcon(MainFrm.class.getResource(
				"/images\\exit.png"))); // NOI18N
		jmiExit.setText("\u9000\u51fa\u7cfb\u7edf");
		jmiExit.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				jmiExitActionPerformed(evt);
			}
		});
		jMenu1.add(jmiExit);

		jMenuBar1.add(jMenu1);

		jMenu2.setIcon(new javax.swing.ImageIcon(MainFrm.class.getResource(
				"/images\\about.png"))); // NOI18N
		jMenu2.setText("\u5173\u4e8e\u6211\u4eec");

		jMenuItem6.setIcon(new javax.swing.ImageIcon(MainFrm.class.getResource(
				"/images\\me.png"))); // NOI18N
		jMenuItem6.setText("\u5173\u4e8e\u7f51\u7ad9");

		jMenu2.add(jMenuItem6);

		jMenuBar1.add(jMenu2);

		setJMenuBar(jMenuBar1);

		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
				getContentPane());
		getContentPane().setLayout(layout);
		layout.setHorizontalGroup(layout.createParallelGroup(
				javax.swing.GroupLayout.Alignment.LEADING).addComponent(table,
				javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE));
		layout.setVerticalGroup(layout.createParallelGroup(
				javax.swing.GroupLayout.Alignment.LEADING).addComponent(table,
				javax.swing.GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE));

		pack();
	}// </editor-fold>
	//GEN-END:initComponents

	private void jmiProductModifyActionPerformed(java.awt.event.ActionEvent evt) {
		ProductManageInterFrm ProductManageInterFrm = new ProductManageInterFrm();
		ProductManageInterFrm.setVisible(true);
		this.table.add(ProductManageInterFrm);
	}

	private void jmiProductAddActionPerformed(java.awt.event.ActionEvent evt) {
		ProductAddInterFrm ProductAddInterFrm = new ProductAddInterFrm();
		ProductAddInterFrm.setVisible(true);
		this.table.add(ProductAddInterFrm);
	}

	private void jmiProductTypeModifyActionPerformed(
			java.awt.event.ActionEvent evt) {
		ProductTypeManageInterFrm ProductTypeManageInterFrm = new ProductTypeManageInterFrm();
		ProductTypeManageInterFrm.setVisible(true);
		this.table.add(ProductTypeManageInterFrm);
	}

	private void jmiProductTypeAddActionPerformed(java.awt.event.ActionEvent evt) {
		ProductTypeInterFrm productTypeInterFrm = new ProductTypeInterFrm();
		productTypeInterFrm.setVisible(true);
		this.table.add(productTypeInterFrm);
	}

	private void jmiExitActionPerformed(java.awt.event.ActionEvent evt) {
		int result = JOptionPane.showConfirmDialog(null, "是否退出系统");
		if (result == 0) {
			this.dispose();//观看它的传值然后定义变量
		}
	}

	/**
	 * @param args the command line arguments
	 */
	public static void main(String args[]) {
		java.awt.EventQueue.invokeLater(new Runnable() {
			public void run() {
				new MainFrm().setVisible(true);
			}
		});
	}

	//GEN-BEGIN:variables
	// Variables declaration - do not modify
	private javax.swing.JMenu jMenu1;
	private javax.swing.JMenu jMenu2;
	private javax.swing.JMenu jMenu3;
	private javax.swing.JMenu jMenu4;
	private javax.swing.JMenuBar jMenuBar1;
	private javax.swing.JMenuItem jMenuItem6;
	private javax.swing.JMenuItem jmiExit;
	private javax.swing.JMenuItem jmiProductAdd;
	private javax.swing.JMenuItem jmiProductModify;
	private javax.swing.JMenuItem jmiProductTypeAdd;
	private javax.swing.JMenuItem jmiProductTypeModify;
	private javax.swing.JDesktopPane table;
	// End of variables declaration//GEN-END:variables

}

ManagerLogOnFrm.java

/*
 * ManagerLogOnFrm.java
 *
 * Created on __DATE__, __TIME__
 */

package com.view;

import java.awt.Font;
import java.sql.Connection;

import javax.swing.JOptionPane;
import javax.swing.UIManager;

import com.dao.ManagerUserDao;
import com.model.ManagerUser;
import com.util.Dbutil;
import com.util.StringUtil;

/**
 *
 * @author  __USER__
 */
public class ManagerLogOnFrm extends javax.swing.JFrame {

	Dbutil dbUtil = new Dbutil();
	ManagerUserDao managerUserDao = new ManagerUserDao();

	/** Creates new form ManagerLogOnFrm */
	public ManagerLogOnFrm() {
		//改变系统默认字体
		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);
			}
		}

		initComponents();
		//设置frame居中显示
		this.setLocationRelativeTo(null);
	}

	/** This method is called from within the constructor to
	 * initialize the form.
	 * WARNING: Do NOT modify this code. The content of this method is
	 * always regenerated by the Form Editor.
	 */
	//GEN-BEGIN:initComponents
	// <editor-fold defaultstate="collapsed" desc="Generated Code">
	private void initComponents() {

		jLabel1 = new javax.swing.JLabel();
		jLabel2 = new javax.swing.JLabel();
		jLabel3 = new javax.swing.JLabel();
		userNameTxt = new javax.swing.JTextField();
		passwordTxt = new javax.swing.JPasswordField();
		jb_logon = new javax.swing.JButton();
		jb_reset = new javax.swing.JButton();

		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
		setResizable(false);

		jLabel1.setFont(new java.awt.Font("微软雅黑", 0, 24));
		jLabel1.setText("\u7ba1\u7406\u5458\u767b\u9646");

		jLabel2.setIcon(new javax.swing.ImageIcon(ManagerLogOnFrm.class.getResource(
				"/images/userName.png"))); // NOI18N
		jLabel2.setText("\u7528\u6237\u540d");

		jLabel3.setIcon(new javax.swing.ImageIcon(ManagerLogOnFrm.class.getResource(
				"/images\\password.png"))); // NOI18N
		jLabel3.setText("\u5bc6\u7801");

		userNameTxt.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				userNameTxtActionPerformed(evt);
			}
		});

		jb_logon.setIcon(new javax.swing.ImageIcon(ManagerLogOnFrm.class.getResource(
				"/images\\login.png"))); // NOI18N
		jb_logon.setText("\u767b\u9646");
		jb_logon.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				jb_logonActionPerformed(evt);
			}
		});

		jb_reset.setIcon(new javax.swing.ImageIcon(ManagerLogOnFrm.class.getResource(
				"/images\\reset.png"))); // NOI18N
		jb_reset.setText("\u91cd\u7f6e");
		jb_reset.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				jb_resetActionPerformed(evt);
			}
		});

		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
				getContentPane());
		getContentPane().setLayout(layout);
		layout
				.setHorizontalGroup(layout
						.createParallelGroup(
								javax.swing.GroupLayout.Alignment.LEADING)
						.addGroup(
								javax.swing.GroupLayout.Alignment.TRAILING,
								layout.createSequentialGroup().addContainerGap(
										148, Short.MAX_VALUE).addComponent(
										jLabel1).addGap(132, 132, 132))
						.addGroup(
								layout
										.createSequentialGroup()
										.addGap(75, 75, 75)
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.LEADING)
														.addGroup(
																layout
																		.createSequentialGroup()
																		.addGap(
																				25,
																				25,
																				25)
																		.addComponent(
																				jb_logon)
																		.addGap(
																				52,
																				52,
																				52)
																		.addComponent(
																				jb_reset))
														.addGroup(
																layout
																		.createSequentialGroup()
																		.addGroup(
																				layout
																						.createParallelGroup(
																								javax.swing.GroupLayout.Alignment.LEADING)
																						.addComponent(
																								jLabel2)
																						.addComponent(
																								jLabel3))
																		.addGap(
																				35,
																				35,
																				35)
																		.addGroup(
																				layout
																						.createParallelGroup(
																								javax.swing.GroupLayout.Alignment.LEADING,
																								false)
																						.addComponent(
																								passwordTxt)
																						.addComponent(
																								userNameTxt,
																								javax.swing.GroupLayout.DEFAULT_SIZE,
																								161,
																								Short.MAX_VALUE))))
										.addGap(73, 73, 73)));
		layout
				.setVerticalGroup(layout
						.createParallelGroup(
								javax.swing.GroupLayout.Alignment.LEADING)
						.addGroup(
								layout
										.createSequentialGroup()
										.addGap(27, 27, 27)
										.addComponent(jLabel1)
										.addGap(39, 39, 39)
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.BASELINE)
														.addComponent(jLabel2)
														.addComponent(
																userNameTxt,
																javax.swing.GroupLayout.PREFERRED_SIZE,
																javax.swing.GroupLayout.DEFAULT_SIZE,
																javax.swing.GroupLayout.PREFERRED_SIZE))
										.addGap(33, 33, 33)
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.BASELINE)
														.addComponent(jLabel3)
														.addComponent(
																passwordTxt,
																javax.swing.GroupLayout.PREFERRED_SIZE,
																javax.swing.GroupLayout.DEFAULT_SIZE,
																javax.swing.GroupLayout.PREFERRED_SIZE))
										.addGap(39, 39, 39)
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.BASELINE)
														.addComponent(jb_logon)
														.addComponent(jb_reset))
										.addContainerGap(60, Short.MAX_VALUE)));

		pack();
	}// </editor-fold>
	//GEN-END:initComponents

	private void jb_logonActionPerformed(java.awt.event.ActionEvent evt) {
		//首先要获取页面上 的信息。
		String userName = userNameTxt.getText();
		String password = new String(passwordTxt.getPassword());
		if (StringUtil.isEmpty(userName)) {
			JOptionPane.showMessageDialog(null, "用户名不能为空");
			return;
		}
		if (StringUtil.isEmpty(password)) {
			JOptionPane.showMessageDialog(null, "密码不能为空");
			return;
		}
		ManagerUser managerUser = new ManagerUser(userName, password);
		Connection con = null;
		try {
			con = dbUtil.getCon();
			ManagerUser currentManagerUser = managerUserDao.login(con,
					managerUser);
			if (currentManagerUser != null) {
				this.dispose();
				new MainFrm().setVisible(true);
			} else {
				JOptionPane.showMessageDialog(null, "用户名或密码错误");
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, "登陆失败");
		} finally {
			try {
				dbUtil.closeCon(con);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	private void jb_resetActionPerformed(java.awt.event.ActionEvent evt) {
		this.userNameTxt.setText("");
		this.passwordTxt.setText("");
	}

	private void userNameTxtActionPerformed(java.awt.event.ActionEvent evt) {
		// TODO add your handling code here:
	}

	/**
	 * @param args the command line arguments
	 */
	public static void main(String args[]) {
		java.awt.EventQueue.invokeLater(new Runnable() {
			public void run() {
				new ManagerLogOnFrm().setVisible(true);
			}
		});
	}

	//GEN-BEGIN:variables
	// Variables declaration - do not modify
	private javax.swing.JLabel jLabel1;
	private javax.swing.JLabel jLabel2;
	private javax.swing.JLabel jLabel3;
	private javax.swing.JButton jb_logon;
	private javax.swing.JButton jb_reset;
	private javax.swing.JPasswordField passwordTxt;
	private javax.swing.JTextField userNameTxt;
	// End of variables declaration//GEN-END:variables

}

ViewMainFrm.java

/*
 * ViewMainFrm.java
 *
 * Created on __DATE__, __TIME__
 */

package com.view;

import java.awt.Font;

import javax.swing.JFrame;
import javax.swing.UIManager;

/**
 *
 * @author  __USER__
 */
public class ViewMainFrm extends javax.swing.JFrame {

	/** Creates new form ViewMainFrm */
	public ViewMainFrm() {
		//改变系统默认字体
		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);
			}
		}

		initComponents();
		//设置frame居中显示
		this.setLocationRelativeTo(null);
	}

	/** This method is called from within the constructor to
	 * initialize the form.
	 * WARNING: Do NOT modify this code. The content of this method is
	 * always regenerated by the Form Editor.
	 */
	//GEN-BEGIN:initComponents
	// <editor-fold defaultstate="collapsed" desc="Generated Code">
	private void initComponents() {

		jLabel1 = new javax.swing.JLabel();
		jb_viewProduct = new javax.swing.JButton();
		jb_ManagetLogOn = new javax.swing.JButton();
		jButton3 = new javax.swing.JButton();

		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

		jLabel1.setFont(new java.awt.Font("微软雅黑", 0, 36));
		jLabel1.setText("\u6b22\u8fce\u6765\u5230\u5546\u57ce");

		jb_viewProduct.setText("\u6d4f\u89c8\u5546\u54c1");
		jb_viewProduct.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				jb_viewProductActionPerformed(evt);
			}
		});

		jb_ManagetLogOn.setText("\u7ba1\u7406\u5458\u767b\u9646");
		jb_ManagetLogOn.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				jb_ManagetLogOnActionPerformed(evt);
			}
		});

		jButton3.setText("\u65b0\u4f1a\u5458\u6ce8\u518c");

		jButton3.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				jb_viewProductActionPerformed(evt);
			}
		});
		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
				getContentPane());
		getContentPane().setLayout(layout);
		layout.setHorizontalGroup(layout.createParallelGroup(
				javax.swing.GroupLayout.Alignment.LEADING).addGroup(
				layout.createSequentialGroup().addContainerGap(111,
								Short.MAX_VALUE).addComponent(jLabel1,
								javax.swing.GroupLayout.PREFERRED_SIZE, 301,
								javax.swing.GroupLayout.PREFERRED_SIZE)
						.addContainerGap()).addGroup(
				layout.createSequentialGroup().addGap(27, 27, 27).addComponent(
						jb_viewProduct).addGap(57, 57, 57).addComponent(
						jb_ManagetLogOn).addPreferredGap(
						javax.swing.LayoutStyle.ComponentPlacement.RELATED, 51,
						Short.MAX_VALUE).addComponent(jButton3).addGap(22, 22,
						22)));
		layout
				.setVerticalGroup(layout
						.createParallelGroup(
								javax.swing.GroupLayout.Alignment.LEADING)
						.addGroup(
								layout
										.createSequentialGroup()
										.addGap(29, 29, 29)
										.addComponent(
												jLabel1,
												javax.swing.GroupLayout.PREFERRED_SIZE,
												132,
												javax.swing.GroupLayout.PREFERRED_SIZE)
										.addGap(27, 27, 27)
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.BASELINE)
														.addComponent(
																jb_viewProduct)
														.addComponent(
																jb_ManagetLogOn)
														.addComponent(jButton3))
										.addContainerGap(87, Short.MAX_VALUE)));

		pack();
	}// </editor-fold>
	//GEN-END:initComponents

	private void jb_viewProductActionPerformed(java.awt.event.ActionEvent evt) {
		new FuntionMainFrm().setVisible(true);
	}

	private void jb_ManagetLogOnActionPerformed(java.awt.event.ActionEvent evt) {
		new ManagerLogOnFrm().setVisible(true);
	}

	/**
	 * @param args the command line arguments
	 */
	public static void main(String args[]) {
		java.awt.EventQueue.invokeLater(new Runnable() {
			public void run() {
				new ViewMainFrm().setVisible(true);
			}
		});
	}

	//GEN-BEGIN:variables
	// Variables declaration - do not modify
	private javax.swing.JButton jButton3;
	private javax.swing.JLabel jLabel1;
	private javax.swing.JButton jb_ManagetLogOn;
	private javax.swing.JButton jb_viewProduct;
	// End of variables declaration//GEN-END:variables

}

更多系统

https://so.csdn.net/so/search?q=java%20swing&t=blog&u=qq_47168235

特别注明

所有代码均经过多次测试,放心下载,资源已在本文置顶。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/656118.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单片机基于 Linux 环境下的Makefile 工程管理和工具链配置

一、开发环境 开发板&#xff1a;stm32f407 编译环境&#xff1a;18.04.6 LTS 工具链&#xff1a;gcc-arm-none-eabi, gcc-arm-none-objcopy 二、工具链下载和安装 下载地址&#xff1a;&#xff08;下载64位linux版&#xff09; https://launchpad.net/gcc-arm-embedded/downl…

从零开始Vue项目中使用MapboxGL开发三维地图教程(五)加载点、线、面图层以及三维面图层(白模)

目录 1、加载点图层2、加载线和面图层3、加载三维面图层&#xff08;白模&#xff09; 1、加载点图层 开发地图应用时&#xff0c;加载POI等点状数据&#xff0c;显示文字或者图标信息&#xff0c;mapbox-gl对应使用的是符号图层&#xff08;symbol&#xff09;&#xff0c;下面…

Modbus通信介绍 网络高级工具使用

目录 Modbus简介 ModbusTCP协议格式 》1.报文头&#xff08;共7字节&#xff09; 》2.功能码 》3.数据 练习&#xff1a;读传感器数据&#xff0c;读1个寄存器数据&#xff0c;写出主从数据收发协议。 练习&#xff1a;写出控制IO设备开关的协议数据&#xff0c;操作1个…

ansible学习

在物理机查看环境&#xff0c;[kioskfoundation0 ~]$ cat /etc/rht 先清空当前环境&#xff0c;[kioskfoundation0 ~]$ rht-clearcourse 0 再切换rh294环境&#xff0c;[kioskfoundation0 ~]$ rht-setcourse rh294 验证环境是否切换成功&#xff0c;[kioskfoundation0 ~]$ cat…

230617已安装SqlServer2017Express,再安装一个SqlServer2017ExpressAdvanced试试

再安装一个 MsSqlServer 试试 再安装一个 MsSqlServer 试试, 这次用高级版 之前已经安装了 一个 MsSqlServer2017Express一个MsSqlServer2017LocalDB 现在再安装一个 MsSqlServer2017ExpressAdvanced 直接下一步 等待 下个页面列出了已经安装的MsSqlServer实例 之前已…

【群智能算法改进】一种改进的白鲸优化算法 改进白鲸优化算法 改进后的EBWO[2]算法【Matlab代码#42】

文章目录 【获取资源请见文章第5节&#xff1a;资源获取】1. 原始BWO算法2. 改进后的EBWO算法2.1 准反向学习QOBL策略2.2 旋风觅食策略 3. 部分代码展示4. 仿真结果展示5. 资源获取 【获取资源请见文章第5节&#xff1a;资源获取】 1. 原始BWO算法 白鲸优化算法 (BWO&#xff…

STM32pwm 时钟 配置 周期 频率 关系配置原理

一 概念 PWM&#xff08;脉冲宽度调制&#xff09;是一种常用的电子信号调制技术&#xff0c;用于控制电子设备中的电平和电流。它通过调整脉冲的宽度来控制信号的平均功率。 在PWM信号中&#xff0c;一个周期由一个固定的频率确定&#xff0c;称为PWM频率。每个周期内&#…

分布式锁服务关键技术和常见解决方案

前言 锁&#xff0c;核心是协调各个使用方对公共资源使用的一种机制。当存在多个使用方互斥地使用某一个公共资源时&#xff0c;为了避免并行使用导致的修改结果不可控&#xff0c;需要在某个地方记录一个标记&#xff0c;这个标记能够被所有使用方看到&#xff0c;当标记不存在…

Matter.js 插件:matter-wrap(世界是圆的)

theme: smartblue 本文简介 点赞 关注 收藏 学会了 记得以前看爆笑校园里有一集讲到&#xff0c;一个人对着前面开了一枪&#xff0c;过了一阵子弹打中他自己的后脑勺。作者想通过这个冷笑话告诉大家一件事&#xff1a;地球是圆的。 在 Matter.js 世界里&#xff0c;默认是没…

stable-diffusion-webui远程访问、插件在线安装

本篇文章可以解决以下问题&#xff1a;stable-diffusion-webui 安装插件报错、没有用户登录安全认证、云主机安装后无法远程访问。 成功安装stable-diffusion-webui后&#xff0c;可以通过命令 bash webui.sh 启动。启动后可以通过 http://127.0.0.1:7860访问。但无法进行远程…

QML快速上手1 - 预备知识

目录 前言QtQuick 预备知识二维坐标系textimagemousearea组件定位元件布局项输入元素 前言 此笔记及后续所有笔记均基于如下环境 Qt Quick 2.12Qt 5.12 参考文献&#xff1a; qmlbook 以下所有笔记均从上述qmlbook中选取精华得来&#xff0c;如果嫌英文太多或者原文太长&am…

【论文系列解读】MiniGPT-4: 增强视觉语言理解与先进的大型语言模型

Minigpt4 MiniGPT-4: Enhancing Vision-Language Understanding with Advanced Large Language Models MiniGPT-4: 增强视觉语言理解与先进的大型语言模型 (0) 总结&实测 minigpt是先提出来的&#xff0c;将视觉编码器和LLM对齐&#xff0c;blip2和它还是有蛮大区别的。…

Python中对基本文件操作

1.文件的作用 保存数据放在磁盘中 2.打开文件 fopen(‘文件’,‘w’)或者fopen(‘文件’,‘r’) 3.文件操作 3.1 写数据(write) 如果文件不存在那么创建&#xff0c;如果存在那么就先清空&#xff0c;然后写入数据 对象open(“文件”,w) 对象.write&#xff08;“写入数…

论文浅尝 | 用于推荐的知识自适应对比学习

笔记整理&#xff1a;俞洪涛&#xff0c;浙江大学硕士&#xff0c;研究方向为知识图谱表示学习 链接&#xff1a;https://dl.acm.org/doi/10.1145/3539597.3570483 动机 在基于知识图谱的推荐系统中&#xff0c;用户和项目的交互信息通常会在模型中占主导地位&#xff0c;而KG中…

OPA Gatekeeper对Kubernetes资源操作限制

OPA介绍 Open Policy Agent&#xff08;OPA&#xff0c;发音为“oh-pa”&#xff09;是一个开源的通用策略引擎&#xff0c;它统一了堆栈中的策略执行。OPA 提供了一种高级声明性语言&#xff0c;可让您将策略指定为代码和简单的 API&#xff0c;以从您的软件中卸载策略决策制…

第七十六天学习记录:计算机硬件技术基础:Intel系列微处理器

Intel系列微处理器概述 8086/8088微处理器 8086/8088微处理器是英特尔公司于1978年推出的16位处理器&#xff0c;在80年代是个非常流行的芯片&#xff0c;被广泛用于个人电脑和工作站。它是x86家族处理器的一员&#xff0c;被视为现代PC体系结构的基础。 8086/8088微处理器的…

对耳朵伤害最小的耳机类型,列举几款不入耳的骨传导耳机

骨传导耳机是最近几年火爆起来的耳机&#xff0c;它是将声音转化为不同频率的机械振动&#xff0c;通过人的颅骨、骨迷路、内耳淋巴液、螺旋器、听神经、听觉中枢来传递声波。与普通耳机相比最大的区别是声音不经过外耳道&#xff0c;避免了耳道长时间堵塞导致的中耳炎疾病发生…

基于机器学习算法:朴素贝叶斯和SVM 分类-垃圾邮件识别分类系统(含Python工程全源码)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python 环境安装pytesseract注册百度云账号 模块实现1. 数据模块2. 模型构建3. 附加功能 系统测试1. 文字邮件测试准确率2. 网页测试结果 工程源代码下载其它资料下载 前言 本项目采用朴素贝叶斯和支持向量机&#xff08;S…

石化园区宽带自组网应急通信方案

痛点需求 传统的通信手段在可靠性、即时性、安全性、可视化等方面的能力相对较弱&#xff0c;无法从根本上满足石化园区的应急通信需求。结合某大型石化园区实际需求&#xff0c;现亟需建设一套高可靠、高安全、广覆盖、机动灵活且支持多媒体通信的应急通信系统&#xff0c;以…

阿里云建站主机之虚拟主机、轻量或云服务器ECS

阿里云搭建网站主机可以选择云服务器ECS、云虚拟主机或轻量应用服务器&#xff0c;轻量应用服务器2核2G3M带宽一年108元&#xff0c;2核4G4M带宽轻量服务器一年297.98元12个月&#xff0c;云服务器ECS可以选择通用算力型u1&#xff0c;云虚拟主机共享型119元一年起&#xff0c;…