【Java】运用JDBC实现一个注册、登录系统的编写

时间:2023-03-09 15:06:54
【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;

示意图

【Java】运用JDBC实现一个注册、登录系统的编写

处理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】运用JDBC实现一个注册、登录系统的编写
底部的三个按钮分别用于 进入登录界面、注册、清除注册信息。

登录界面

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("\u6ce8\u518c\u8d26\u53f7");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
}); jButton2.setText("\u627e\u56de\u5bc6\u7801");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
}); jCheckBox1.setText("\u8bb0\u4f4f\u5bc6\u7801"); jCheckBox2.setText("\u81ea\u52a8\u767b\u5f55"); jButton3.setFont(new java.awt.Font("锟斤拷锟斤拷", 0, 18));
jButton3.setText("\u767b\u5f55");
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 }

效果图

【Java】运用JDBC实现一个注册、登录系统的编写

源码下载