数据库的建立
首先,建立一个数据库,存储注册成功的账户信息。
其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 }