(2)定义类UserDao,在该类中实现按用户名与密码查询用户的方法getUser(),该方法的返回值为User对象。具体代码如下:
package com.zky.www.dao; public class UserDao {
public User checkLogin(Connection conn,User user) { }
public int modifyPassword(Connection conn, User passUser) {
int flag=-1;
String sql=\try{
PreparedStatement pstmt=conn.prepareStatement(sql);
12
User resultUser=null;
String sql=\try {
PreparedStatement pstmt=conn.prepareStatement(sql); pstmt.setString(1, user.getUsername()); pstmt.setString(2,user.getPassword()); ResultSet rs=pstmt.executeQuery(); if(rs.next()){ }
resultUser=new User();
resultUser.setUserId(rs.getInt(\resultUser.setUsername(rs.getString(\resultUser.setPassword(rs.getString(\
} catch (SQLException e) { }
return resultUser;
e.printStackTrace();
}
}
pstmt.setString(1, passUser.getPassword()); pstmt.setInt(2, passUser.getUserId()); flag=pstmt.executeUpdate();
}catch(Exception e) { } return flag;
e.printStackTrace();
(3)在登录按钮的单击事件中,调用判断用户是否合法的方法getUser(),实现如果用户名输入的用户名与密码合法将转发至系统主窗体;如果用户输入了错误的用户名与密码,则给出相应的提示。具体代码如下: private class LoginAction implements ActionListener
{
public void actionPerformed(ActionEvent e) {
String username=txtUsername.getText().trim(); String password=txtPassword.getText().trim(); if(StringUtil.isEmpty(username)) { }
if(StringUtil.isEmpty(password)) { }
User user=new User(username,password); Connection conn=dbUtil.getConn();
13
JOptionPane.showMessageDialog(null,\用户名不能为空!\return ;
JOptionPane.showMessageDialog(null,\密码不能为空!\return;
}
mainUser=userDao.checkLogin(conn, user); }
dbUtil.closeConn(conn);//关闭连接 if(mainUser!=null) {
MainFrame mainFrame=new MainFrame(); LoginFrame.this.setVisible(false);
}else{ }
JOptionPane.showMessageDialog(null, \用户名或密码错误!\txtUsername.setText(\txtPassword.setText(\txtUsername.requestFocus();
(4)在取消按钮的单击事件中,用户名文本框与密码文本框里的内容将设置为空,用空文本代替之前输入的内容。具体的代码如下: private class CancelAction implements ActionListener
{ }
}
public void actionPerformed(ActionEvent arg0) { txtUsername.setText(\txtPassword.setText(\txtUsername.requestFocus();
14
5主窗口设计
5.1主窗口概述
成功登录系统后,即可进入程序的主窗体。在主窗口中添加了菜单栏,在菜单栏中添加菜单,菜单中有包括了二级菜单,主窗口运行结果如图5.1所示。
图5.1 程序主窗体运行结果
5.2主窗体实现过程
5.2.1系统维护功能
(1)添加用户
当单击添加用户,则系统自动跳出添加用户窗口,添加完成以后,对应的数据库中的User表中会添加相应的用户名与密码,此用户名与密码可用于登录该大学生社团信息管理系统的登录。程序运行的结果如图5.2所示,相应的代码如下:
15
图5.2 添加用户窗体运行结果
添加用户相应代码:
package com.zky.www.view;
public class addUser extends JInternalFrame {
private JPanel jContentPane = null; private JLabel lbTip = null; private JLabel name = null; private JTextField inputName = null; private JLabel password = null;
private JPasswordField inputPassword = null; private JLabel passwordTwo=null;
private JPasswordField inputPasswordTwo=null; private JButton btnAdd = null; private JButton btnCancel = null; public addUser() { }
private void initialize() {
this.setBounds(new Rectangle(150, 150, 500, 400));
16
super(); initialize();