zoukankan      html  css  js  c++  java
  • 【Java】运用JDBC实现一个注册、登录系统的编写

    数据库的建立

    首先,建立一个数据库,存储注册成功的账户信息。

    其SQL的DDL语句如下:

    CREATE TABLE `jdbctest` (
      `id` int(10) NOT NULL auto_increment,
      `username` varchar(20) default NULL,
      `password` varchar(20) default NULL,
      `realName` varchar(10) default NULL,
      `sex` char(1) default NULL,
      `phone` varchar(20) default NULL,
      `email` varchar(30) default NULL,
      `vocation` varchar(10) default NULL,
      `city` varchar(10) default NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    

    示意图



    处理SQL代码的方法

    以下方法存储在BaseDAO.java文件中。

    变量声明

    	Connection connection;
    	Statement statement;
    	PreparedStatement pStatement;
    	ResultSet rSet;

    处理增删改的SQL语句

    	/** PreparedStatement 预编译之查询拓展版 */
    	public ArrayList<HashMap<Object, Object>> Query(String sql,Object[] s) {
    		ArrayList<HashMap<Object, Object>> list = null;
    		getConnection();
    		try {
    			pStatement = connection.prepareStatement(sql);
    			for (int i = 0; i < s.length; i++) {
    				pStatement.setObject(i+1, s[i]);
    			}
    			rSet = pStatement.executeQuery();
    			list = ResultSetToList(rSet);
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return list;
    	}

    处理查询类的SQL语句

    	/** 查询并返回记录集 */
    	public ResultSet getResultSet(String sql, Object[] objArr){
    		getConnection();
    		try {
    			pStatement = connection.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    			if(objArr!=null && objArr.length>0) {
    				for (int i = 0; i < objArr.length; i++) {
    					pStatement.setObject(i+1, objArr[i]);
    				}
    			}
    			rSet = pStatement.executeQuery();
    			//list = resultSetToList(rs);
    		} catch (SQLException e) {
    			e.printStackTrace();
    		} finally {
    			//close();
    		}
    		return rSet;
    	}

    关闭并释放资源

    	/** 关闭并释放资源 */
    	public void close(){
    		try {
    			if(statement!=null){
    				statement.close();
    				statement = null;
    			}
    			if(pStatement!=null){
    				pStatement.close();
    				pStatement = null;
    			}
    			if(connection!=null){
    				connection.close();
    				connection = null;
    			}
    		} catch (Exception e) {
    			System.out.println("数据库close异常");
    		}
    	}


    处理用户信息的方法

    以下方法存储在UserDAO.java中,类UserDAO继承自类BaseDAO。

    注册

    	public boolean Reg(String[] arr){
    		BaseDAO bDao = new BaseDAO();
    		String sql ="INSERT INTO jdbctest(username,password,realName,sex,phone,email,vocation,city) values(?,?,?,?,?,?,?,?);" ;
    		bDao.Update(sql, arr);
    		return true;
    	}

    验证用户名唯一性

    	public boolean Unique(String nameString) {
    		BaseDAO bDao = new BaseDAO();
    		String[] s = {nameString};
    		ArrayList<HashMap<Object, Object>> list = bDao.Query("SELECT * FROM jdbctest WHERE username=?;",s);
    		if (list.isEmpty()) {
    			return true;
    		}
    		return false;
    	}

    判断是否成功登录

    	public boolean login(String username, String password){
    		BaseDAO bDao = new BaseDAO();
    		String[] s = {username ,password};
    		ArrayList<HashMap<Object, Object>> list = bDao.Query("SELECT * FROM jdbctest WHERE username=? and password=?;",s);
    		if (list.isEmpty()) {
    			return false;
    		}
    		return true;
    	}

    注册窗口

    Java代码

    /*
     * RegisteFrame.java
     *
     * Created on __DATE__, __TIME__
     */
    
    package com.ui;
    
    import javax.swing.JOptionPane;
    
    import com.dao.UserDAO;
    
    /**
     *
     * @author  __USER__
     */
    public class RegisteFrame extends javax.swing.JFrame {
    
    	/** Creates new form RegisteFrame */
    	public RegisteFrame() {
    		initComponents();
    		setResizable(false);
    		setLocation(400, 160);
    	}
    	public RegisteFrame(String s) {
    		super(s);
    		initComponents();
    		setResizable(false);
    		setLocation(400, 150);
    	}
    
    	/** 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() {
    
    		buttonGroup1 = new javax.swing.ButtonGroup();
    		buttonGroup2 = new javax.swing.ButtonGroup();
    		jLabel1 = new javax.swing.JLabel();
    		jLabel2 = new javax.swing.JLabel();
    		jTextField1 = new javax.swing.JTextField();
    		jLabel3 = new javax.swing.JLabel();
    		jLabel4 = new javax.swing.JLabel();
    		jPasswordField1 = new javax.swing.JPasswordField();
    		jPasswordField2 = new javax.swing.JPasswordField();
    		jLabel5 = new javax.swing.JLabel();
    		jTextField2 = new javax.swing.JTextField();
    		jLabel6 = new javax.swing.JLabel();
    		jTextField3 = new javax.swing.JTextField();
    		jLabel7 = new javax.swing.JLabel();
    		jRadioButton1 = new javax.swing.JRadioButton();
    		jRadioButton2 = new javax.swing.JRadioButton();
    		jLabel8 = new javax.swing.JLabel();
    		jTextField4 = new javax.swing.JTextField();
    		jLabel9 = new javax.swing.JLabel();
    		jTextField5 = new javax.swing.JTextField();
    		jLabel10 = new javax.swing.JLabel();
    		jTextField6 = new javax.swing.JTextField();
    		jToggleButton1 = new javax.swing.JToggleButton();
    		jToggleButton2 = new javax.swing.JToggleButton();
    		jButton1 = new javax.swing.JButton();
    
    		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    
    		jLabel1.setFont(new java.awt.Font("Segoe UI", 0, 24));
    		jLabel1.setText("Membership Registration");
    
    		jLabel2.setFont(new java.awt.Font("Segoe UI", 0, 14));
    		jLabel2.setText("UserName (*)");
    
    		jTextField1.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jTextField1ActionPerformed(evt);
    			}
    		});
    
    		jLabel3.setFont(new java.awt.Font("Segoe UI", 0, 14));
    		jLabel3.setText("PassWord (*)");
    
    		jLabel4.setFont(new java.awt.Font("Segoe UI", 0, 14));
    		jLabel4.setText("PassWord Verify (*)");
    
    		jPasswordField1.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jPasswordField1ActionPerformed(evt);
    			}
    		});
    
    		jPasswordField2.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jPasswordField2ActionPerformed(evt);
    			}
    		});
    
    		jLabel5.setFont(new java.awt.Font("Segoe UI", 0, 14));
    		jLabel5.setText("Your RealName");
    
    		jTextField2.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jTextField2ActionPerformed(evt);
    			}
    		});
    
    		jLabel6.setFont(new java.awt.Font("Segoe UI", 0, 14));
    		jLabel6.setText("Your E-mail");
    
    		jTextField3.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jTextField3ActionPerformed(evt);
    			}
    		});
    
    		jLabel7.setFont(new java.awt.Font("Segoe UI", 0, 14));
    		jLabel7.setText("Your Sex");
    
    		jRadioButton1.setFont(new java.awt.Font("Segoe UI", 0, 14));
    		jRadioButton1.setText("Man");
    		jRadioButton1.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jRadioButton1ActionPerformed(evt);
    			}
    		});
    
    		jRadioButton2.setFont(new java.awt.Font("Segoe UI", 0, 14));
    		jRadioButton2.setText("WoMan");
    		jRadioButton2.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jRadioButton2ActionPerformed(evt);
    			}
    		});
    
    		jLabel8.setFont(new java.awt.Font("Segoe UI", 0, 14));
    		jLabel8.setText("Your Vocation");
    
    		jTextField4.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jTextField4ActionPerformed(evt);
    			}
    		});
    
    		jLabel9.setFont(new java.awt.Font("Segoe UI", 0, 14));
    		jLabel9.setText("Your City");
    
    		jTextField5.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jTextField5ActionPerformed(evt);
    			}
    		});
    
    		jLabel10.setFont(new java.awt.Font("Segoe UI", 0, 14));
    		jLabel10.setText("Your Phone");
    
    		jTextField6.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jTextField6ActionPerformed(evt);
    			}
    		});
    
    		jToggleButton1.setFont(new java.awt.Font("Segoe UI", 0, 18));
    		jToggleButton1.setText("registe");
    		jToggleButton1.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jToggleButton1ActionPerformed(evt);
    			}
    		});
    
    		jToggleButton2.setFont(new java.awt.Font("Segoe UI", 0, 18));
    		jToggleButton2.setText("clean");
    		jToggleButton2.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jToggleButton2ActionPerformed(evt);
    			}
    		});
    
    		jButton1.setFont(new java.awt.Font("Segoe UI", 0, 18));
    		jButton1.setText("login");
    		jButton1.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jButton1ActionPerformed(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()
    								.addGroup(
    										layout.createParallelGroup(
    												javax.swing.GroupLayout.Alignment.TRAILING)
    												.addGroup(
    														javax.swing.GroupLayout.Alignment.LEADING,
    														layout.createSequentialGroup()
    																.addContainerGap(
    																		59,
    																		Short.MAX_VALUE)
    																.addGroup(
    																		layout.createParallelGroup(
    																				javax.swing.GroupLayout.Alignment.TRAILING)
    																				.addComponent(
    																						jLabel1)
    																				.addGroup(
    																						layout.createSequentialGroup()
    																								.addGroup(
    																										layout.createParallelGroup(
    																												javax.swing.GroupLayout.Alignment.TRAILING)
    																												.addComponent(
    																														jLabel6)
    																												.addComponent(
    																														jLabel7)
    																												.addComponent(
    																														jLabel4)
    																												.addComponent(
    																														jLabel9)
    																												.addComponent(
    																														jLabel10)
    																												.addComponent(
    																														jLabel8)
    																												.addComponent(
    																														jLabel5)
    																												.addComponent(
    																														jLabel3)
    																												.addComponent(
    																														jLabel2))
    																								.addGap(43,
    																										43,
    																										43)
    																								.addGroup(
    																										layout.createParallelGroup(
    																												javax.swing.GroupLayout.Alignment.LEADING,
    																												false)
    																												.addComponent(
    																														jTextField6)
    																												.addComponent(
    																														jTextField5)
    																												.addComponent(
    																														jTextField4)
    																												.addComponent(
    																														jTextField3)
    																												.addComponent(
    																														jTextField2)
    																												.addComponent(
    																														jPasswordField2,
    																														javax.swing.GroupLayout.Alignment.TRAILING)
    																												.addComponent(
    																														jPasswordField1)
    																												.addComponent(
    																														jTextField1,
    																														javax.swing.GroupLayout.DEFAULT_SIZE,
    																														138,
    																														Short.MAX_VALUE)
    																												.addGroup(
    																														layout.createSequentialGroup()
    																																.addComponent(
    																																		jRadioButton1)
    																																.addPreferredGap(
    																																		javax.swing.LayoutStyle.ComponentPlacement.RELATED,
    																																		javax.swing.GroupLayout.DEFAULT_SIZE,
    																																		Short.MAX_VALUE)
    																																.addComponent(
    																																		jRadioButton2))))))
    												.addGroup(
    														javax.swing.GroupLayout.Alignment.LEADING,
    														layout.createSequentialGroup()
    																.addGap(73, 73,
    																		73)
    																.addComponent(
    																		jButton1)
    																.addGap(18, 18,
    																		18)
    																.addComponent(
    																		jToggleButton1)
    																.addGap(18, 18,
    																		18)
    																.addComponent(
    																		jToggleButton2)))
    								.addGap(87, 87, 87)));
    		layout.setVerticalGroup(layout
    				.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    				.addGroup(
    						layout.createSequentialGroup()
    								.addContainerGap()
    								.addComponent(jLabel1)
    								.addGap(13, 13, 13)
    								.addGroup(
    										layout.createParallelGroup(
    												javax.swing.GroupLayout.Alignment.BASELINE)
    												.addComponent(
    														jTextField1,
    														javax.swing.GroupLayout.PREFERRED_SIZE,
    														javax.swing.GroupLayout.DEFAULT_SIZE,
    														javax.swing.GroupLayout.PREFERRED_SIZE)
    												.addComponent(jLabel2))
    								.addPreferredGap(
    										javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    								.addGroup(
    										layout.createParallelGroup(
    												javax.swing.GroupLayout.Alignment.LEADING)
    												.addComponent(
    														jPasswordField1,
    														javax.swing.GroupLayout.PREFERRED_SIZE,
    														javax.swing.GroupLayout.DEFAULT_SIZE,
    														javax.swing.GroupLayout.PREFERRED_SIZE)
    												.addComponent(jLabel3))
    								.addGap(11, 11, 11)
    								.addGroup(
    										layout.createParallelGroup(
    												javax.swing.GroupLayout.Alignment.BASELINE)
    												.addComponent(
    														jPasswordField2,
    														javax.swing.GroupLayout.PREFERRED_SIZE,
    														javax.swing.GroupLayout.DEFAULT_SIZE,
    														javax.swing.GroupLayout.PREFERRED_SIZE)
    												.addComponent(jLabel4))
    								.addPreferredGap(
    										javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    								.addGroup(
    										layout.createParallelGroup(
    												javax.swing.GroupLayout.Alignment.BASELINE)
    												.addComponent(jLabel5)
    												.addComponent(
    														jTextField2,
    														javax.swing.GroupLayout.PREFERRED_SIZE,
    														javax.swing.GroupLayout.DEFAULT_SIZE,
    														javax.swing.GroupLayout.PREFERRED_SIZE))
    								.addPreferredGap(
    										javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    								.addGroup(
    										layout.createParallelGroup(
    												javax.swing.GroupLayout.Alignment.BASELINE)
    												.addComponent(jLabel6)
    												.addComponent(
    														jTextField3,
    														javax.swing.GroupLayout.PREFERRED_SIZE,
    														javax.swing.GroupLayout.DEFAULT_SIZE,
    														javax.swing.GroupLayout.PREFERRED_SIZE))
    								.addPreferredGap(
    										javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    								.addGroup(
    										layout.createParallelGroup(
    												javax.swing.GroupLayout.Alignment.BASELINE)
    												.addComponent(jLabel7)
    												.addComponent(jRadioButton1)
    												.addComponent(jRadioButton2))
    								.addPreferredGap(
    										javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    								.addGroup(
    										layout.createParallelGroup(
    												javax.swing.GroupLayout.Alignment.BASELINE)
    												.addComponent(jLabel8)
    												.addComponent(
    														jTextField4,
    														javax.swing.GroupLayout.PREFERRED_SIZE,
    														javax.swing.GroupLayout.DEFAULT_SIZE,
    														javax.swing.GroupLayout.PREFERRED_SIZE))
    								.addPreferredGap(
    										javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    								.addGroup(
    										layout.createParallelGroup(
    												javax.swing.GroupLayout.Alignment.BASELINE)
    												.addComponent(jLabel9)
    												.addComponent(
    														jTextField5,
    														javax.swing.GroupLayout.PREFERRED_SIZE,
    														javax.swing.GroupLayout.DEFAULT_SIZE,
    														javax.swing.GroupLayout.PREFERRED_SIZE))
    								.addPreferredGap(
    										javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    								.addGroup(
    										layout.createParallelGroup(
    												javax.swing.GroupLayout.Alignment.BASELINE)
    												.addComponent(jLabel10)
    												.addComponent(
    														jTextField6,
    														javax.swing.GroupLayout.PREFERRED_SIZE,
    														javax.swing.GroupLayout.DEFAULT_SIZE,
    														javax.swing.GroupLayout.PREFERRED_SIZE))
    								.addGap(18, 18, 18)
    								.addGroup(
    										layout.createParallelGroup(
    												javax.swing.GroupLayout.Alignment.BASELINE)
    												.addComponent(jButton1)
    												.addComponent(jToggleButton1)
    												.addComponent(jToggleButton2))
    								.addContainerGap(26, Short.MAX_VALUE)));
    
    		pack();
    	}// </editor-fold>
    	//GEN-END:initComponents
    
    	private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here:登录
    		LoginFrame lFrame = new LoginFrame("用户登录");
    		lFrame.setVisible(true);
    		this.setVisible(false);
    	}
    
    	private void jToggleButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here: 清空
    		jTextField1.setText(null);
    		jTextField2.setText(null);
    		jTextField3.setText(null);
    		jTextField4.setText(null);
    		jTextField5.setText(null);
    		jTextField6.setText(null);
    		jPasswordField1.setText(null);
    		jPasswordField2.setText(null);
    		jRadioButton1.setSelected(false);
    		jRadioButton2.setSelected(false);
    	}
    
    	boolean registe = false;
    
    	public boolean Regist() {
    		return registe;
    	}
    
    	private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here: 登录
    		UserDAO uDao = new UserDAO();
    		if (jTextField1.getText().isEmpty()) {
    			JOptionPane.showMessageDialog(null, "用户名不能为空!", "注册失败",
    					JOptionPane.ERROR_MESSAGE);
    		} else if (jPasswordField1.getText().isEmpty()
    				|| jPasswordField1.getText().isEmpty()) {
    			JOptionPane.showMessageDialog(null, "密码栏不能为空!", "注册失败",
    					JOptionPane.ERROR_MESSAGE);
    		} else if (!jPasswordField1.getText().equals(jPasswordField2.getText())) {
    			JOptionPane.showMessageDialog(null, "两次输入的密码不一致!", "注册失败",
    					JOptionPane.ERROR_MESSAGE);
    			jPasswordField1.setText(null);
    			jPasswordField2.setText(null);
    		} else if (! uDao.Unique(jTextField1.getText())) {
    			JOptionPane.showMessageDialog(null, "该用户名已被注册,请重新输入!", "注册失败",
    					JOptionPane.ERROR_MESSAGE);
    			jTextField1.setText(null);
    			jPasswordField1.setText(null);
    			jPasswordField2.setText(null);
    		}else {
    			JOptionPane.showMessageDialog(null, "账号已注册成功!", "注册成功",
    					JOptionPane.INFORMATION_MESSAGE);
    			uDao.Reg(UserInformation());
    			registe = true;
    		}
    	}
    
    	public String[] UserInformation() {
    		String[] infor = { null, null, null, null, null, null, null, null };
    		infor[0] = jTextField1.getText();
    		infor[1] = jPasswordField1.getText();
    		infor[2] = jTextField2.getText(); //真实姓名
    		infor[3] = (!jRadioButton1.isSelected() && !jRadioButton2.isSelected()) ? ""
    				: (jRadioButton1.isSelected()) ? "男" : "女"; //性别
    		infor[4] = jTextField6.getText(); //电话
    		infor[5] = jTextField3.getText(); //邮箱
    		infor[6] = jTextField4.getText(); //职业
    		infor[7] = jTextField5.getText(); //城市
    		return infor;
    	}
    
    	private void jTextField6ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here: 电话
    	}
    
    	private void jTextField5ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here: 城市
    	}
    
    	private void jTextField4ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here:  职业
    	}
    
    	private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here: 性别 女
    		if (jRadioButton1.isSelected()) {
    			jRadioButton1.setSelected(false);
    		}
    	}
    
    	private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here: 性别 男
    		if (jRadioButton2.isSelected()) {
    			jRadioButton2.setSelected(false);
    		}
    	}
    
    	private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here:  邮箱
    	}
    
    	private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here: 真实姓名
    	}
    
    	private void jPasswordField2ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here: 确认密码
    	}
    
    	private void jPasswordField1ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here: 密码
    	}
    
    	private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here:  UserName
    	}
    
    	/**
    	 * @param args the command line arguments
    	 */
    	public static void main(String args[]) {
    		java.awt.EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				RegisteFrame rFrame = new RegisteFrame("用户注册");
    				rFrame.setVisible(true);
    			}
    		});
    	}
    
    	//GEN-BEGIN:variables
    	// Variables declaration - do not modify
    	private javax.swing.ButtonGroup buttonGroup1;
    	private javax.swing.ButtonGroup buttonGroup2;
    	private javax.swing.JButton jButton1;
    	private javax.swing.JLabel jLabel1;
    	private javax.swing.JLabel jLabel10;
    	private javax.swing.JLabel jLabel2;
    	private javax.swing.JLabel jLabel3;
    	private javax.swing.JLabel jLabel4;
    	private javax.swing.JLabel jLabel5;
    	private javax.swing.JLabel jLabel6;
    	private javax.swing.JLabel jLabel7;
    	private javax.swing.JLabel jLabel8;
    	private javax.swing.JLabel jLabel9;
    	private javax.swing.JPasswordField jPasswordField1;
    	private javax.swing.JPasswordField jPasswordField2;
    	private javax.swing.JRadioButton jRadioButton1;
    	private javax.swing.JRadioButton jRadioButton2;
    	private javax.swing.JTextField jTextField1;
    	private javax.swing.JTextField jTextField2;
    	private javax.swing.JTextField jTextField3;
    	private javax.swing.JTextField jTextField4;
    	private javax.swing.JTextField jTextField5;
    	private javax.swing.JTextField jTextField6;
    	private javax.swing.JToggleButton jToggleButton1;
    	private javax.swing.JToggleButton jToggleButton2;
    	// End of variables declaration//GEN-END:variables
    
    }

    效果图


    底部的三个按钮分别用于 进入登录界面、注册、清除注册信息。

    登录界面

    Java代码

    package com.ui;
    
    import java.io.IOException;
    import java.net.URL;
    import java.net.URLConnection;
    
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    
    import com.dao.UserDAO;
    
    /**
     *
     * @author  __USER__
     */
    public class LoginFrame extends javax.swing.JFrame {
    
    	/** Creates new form Test4QQ */
    	public LoginFrame() {
    		initComponents();
    		setResizable(false);
    		setBounds(450,230,380,310);
    	}
    	public LoginFrame(String string) {
    		super(string);
    		initComponents();
    		setResizable(false);
    		setBounds(450,230,380,310);
    	}
    	//GEN-BEGIN:initComponents
    	// <editor-fold defaultstate="collapsed" desc="Generated Code">
    	private void initComponents() {
    
    		jColorChooser1 = new javax.swing.JColorChooser();
    		jColorChooser2 = new javax.swing.JColorChooser();
    		jLabel1 = new javax.swing.JLabel();
    		jLabel2 = new javax.swing.JLabel();
    		jTextField1 = new javax.swing.JTextField();
    		jButton1 = new javax.swing.JButton();
    		jButton2 = new javax.swing.JButton();
    		jCheckBox1 = new javax.swing.JCheckBox();
    		jCheckBox2 = new javax.swing.JCheckBox();
    		jButton3 = new javax.swing.JButton();
    		jPasswordField1 = new javax.swing.JPasswordField();
    
    		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    
    		jLabel1.setIcon(new javax.swing.ImageIcon(
    				"qq1.png")); // NOI18N
    
    		jLabel2.setIcon(new javax.swing.ImageIcon(
    				"qq.png")); // NOI18N
    
    		jTextField1.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jTextField1ActionPerformed(evt);
    			}
    		});
    
    		jButton1.setText("u6ce8u518cu8d26u53f7");
    		jButton1.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jButton1ActionPerformed(evt);
    			}
    		});
    
    		jButton2.setText("u627eu56deu5bc6u7801");
    		jButton2.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jButton2ActionPerformed(evt);
    			}
    		});
    
    		jCheckBox1.setText("u8bb0u4f4fu5bc6u7801");
    
    		jCheckBox2.setText("u81eau52a8u767bu5f55");
    
    		jButton3.setFont(new java.awt.Font("锟斤拷锟斤拷", 0, 18));
    		jButton3.setText("u767bu5f55");
    		jButton3.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jButton3ActionPerformed(evt);
    			}
    		});
    
    		jPasswordField1.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent evt) {
    				jPasswordField1ActionPerformed(evt);
    			}
    		});
    
    		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
    				getContentPane());
    		getContentPane().setLayout(layout);
    		layout.setHorizontalGroup(layout
    				.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    				.addComponent(jLabel1)
    				.addGroup(
    						layout.createSequentialGroup()
    								.addContainerGap()
    								.addComponent(jLabel2)
    								.addGroup(
    										layout.createParallelGroup(
    												javax.swing.GroupLayout.Alignment.LEADING)
    												.addGroup(
    														layout.createSequentialGroup()
    																.addGap(18, 18,
    																		18)
    																.addGroup(
    																		layout.createParallelGroup(
    																				javax.swing.GroupLayout.Alignment.TRAILING,
    																				false)
    																				.addComponent(
    																						jPasswordField1)
    																				.addComponent(
    																						jTextField1,
    																						javax.swing.GroupLayout.DEFAULT_SIZE,
    																						130,
    																						Short.MAX_VALUE))
    																.addPreferredGap(
    																		javax.swing.LayoutStyle.ComponentPlacement.RELATED,
    																		25,
    																		Short.MAX_VALUE)
    																.addGroup(
    																		layout.createParallelGroup(
    																				javax.swing.GroupLayout.Alignment.LEADING)
    																				.addComponent(
    																						jButton1)
    																				.addComponent(
    																						jButton2))
    																.addGap(26, 26,
    																		26))
    												.addGroup(
    														layout.createSequentialGroup()
    																.addPreferredGap(
    																		javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    																.addComponent(
    																		jCheckBox1)
    																.addGap(44, 44,
    																		44)
    																.addComponent(
    																		jCheckBox2))))
    				.addGroup(
    						layout.createSequentialGroup()
    								.addGap(113, 113, 113)
    								.addComponent(jButton3,
    										javax.swing.GroupLayout.PREFERRED_SIZE,
    										138,
    										javax.swing.GroupLayout.PREFERRED_SIZE)
    								.addContainerGap(123, Short.MAX_VALUE)));
    		layout.setVerticalGroup(layout
    				.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    				.addGroup(
    						layout.createSequentialGroup()
    								.addComponent(jLabel1)
    								.addGap(10, 10, 10)
    								.addGroup(
    										layout.createParallelGroup(
    												javax.swing.GroupLayout.Alignment.LEADING)
    												.addGroup(
    														layout.createSequentialGroup()
    																.addPreferredGap(
    																		javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
    																.addComponent(
    																		jLabel2))
    												.addGroup(
    														layout.createSequentialGroup()
    																.addGroup(
    																		layout.createParallelGroup(
    																				javax.swing.GroupLayout.Alignment.BASELINE)
    																				.addComponent(
    																						jButton1)
    																				.addComponent(
    																						jTextField1,
    																						javax.swing.GroupLayout.PREFERRED_SIZE,
    																						javax.swing.GroupLayout.DEFAULT_SIZE,
    																						javax.swing.GroupLayout.PREFERRED_SIZE))
    																.addPreferredGap(
    																		javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    																.addGroup(
    																		layout.createParallelGroup(
    																				javax.swing.GroupLayout.Alignment.BASELINE)
    																				.addComponent(
    																						jButton2)
    																				.addComponent(
    																						jPasswordField1,
    																						javax.swing.GroupLayout.PREFERRED_SIZE,
    																						javax.swing.GroupLayout.DEFAULT_SIZE,
    																						javax.swing.GroupLayout.PREFERRED_SIZE))
    																.addPreferredGap(
    																		javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    																.addGroup(
    																		layout.createParallelGroup(
    																				javax.swing.GroupLayout.Alignment.BASELINE)
    																				.addComponent(
    																						jCheckBox1)
    																				.addComponent(
    																						jCheckBox2))))
    								.addPreferredGap(
    										javax.swing.LayoutStyle.ComponentPlacement.RELATED,
    										javax.swing.GroupLayout.DEFAULT_SIZE,
    										Short.MAX_VALUE).addComponent(jButton3)
    								.addContainerGap()));
    
    		pack();
    	}// </editor-fold>
    	//GEN-END:initComponents
    
    	private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here:
    	}
    
    	private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here:
    		RegisteFrame rFrame = new RegisteFrame();
    		rFrame.setVisible(true);
    		this.setVisible(false);
    	}
    	private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    //		MemberFrame mFrame = new MemberFrame();
    //		mFrame.setVisible(true);
    //		this.setVisible(false);
    	}
    
    	private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
    		// TODO add your handling code here:
    		UserDAO uDao = new UserDAO();
    		if (uDao.login(jTextField1.getText(), jPasswordField1.getText())) {
    //			JOptionPane.showMessageDialog(null, "您登录成功啦!", "登录成功",
    //					JOptionPane.INFORMATION_MESSAGE);
    			String string = "欢迎用户: "+jTextField1.getText()+" 登录!";
    			MemberFrame mFrame = new MemberFrame(string);
    			mFrame.setVisible(true);
    			this.setVisible(false);
    		} else  {
    			JOptionPane.showMessageDialog(null, "用户名或密码错误,请重新输入!", "登录失败",
    					JOptionPane.ERROR_MESSAGE);
    			jPasswordField1.setText(null);
    		}
    	}
    
    	private void jPasswordField1ActionPerformed(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() {
    				LoginFrame lFrame = new LoginFrame();
    				lFrame.setVisible(true);
    				lFrame.setTitle("用户登录");
    			}
    		});
    	}
    
    	//GEN-BEGIN:variables
    	// Variables declaration - do not modify
    	private javax.swing.JButton jButton1;
    	private javax.swing.JButton jButton2;
    	private javax.swing.JButton jButton3;
    	private javax.swing.JCheckBox jCheckBox1;
    	private javax.swing.JCheckBox jCheckBox2;
    	private javax.swing.JColorChooser jColorChooser1;
    	private javax.swing.JColorChooser jColorChooser2;
    	private javax.swing.JLabel jLabel1;
    	private javax.swing.JLabel jLabel2;
    	private javax.swing.JPasswordField jPasswordField1;
    	private javax.swing.JTextField jTextField1;
    	// End of variables declaration//GEN-END:variables
    
    }

    效果图


    源码下载

  • 相关阅读:
    如何判断PHP 是ts还是nts版的
    让IE支持placeholder属性
    解决点击浏览器后退按钮页面过期的问题
    git记住用户名密码
    php保存base64数据
    azure注册码
    SQL Server 2008 R2密钥序列号
    SQL允许远程访问
    PHP生成表格
    PHP发起get post put delete请求
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3243799.html
Copyright © 2011-2022 走看看