java 用户登录界面
在所有的管理程序中,都不可缺少的即用户登录界面,用于指管理人员使用特定的管理权限。
在前面章节中,我们已经介绍过通过Java中的Swing制作登录界面,但是登录界面中的用户名与密码等信息,并没有与数据库进行连接。本实例,我们主要介绍如何通过登录界面,判断用户名与密码是否正确。
操作步骤:
(1)导入类包和创建主类,然后定义所需要的变量。然后,创建init( )用来显示用户登录界面。由于前已经介绍比较详细,在此不再详细介绍。
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
public class Register implements ActionListener {
TextField t1; JPasswordField t2; JButton b1, b2; JFrame f; JPanel p1; JLabel l1, l2;
void init() {
f = new JFrame("登录窗口");
p1 = new JPanel();
l1 = new JLabel("用户名", JLabel.CENTER);
l2 = new JLabel("密码", JLabel.CENTER);
t1 = new TextField(11);
t2 = new JPasswordField(11);
b1 = new JButton("登录");
b2 = new JButton("取消");
f.setLayout(new FlowLayout());// 流式布局管理
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(300, 150);
p1.setLayout(new GridLayout(3, 2));
p1.add(l1); p1.add(t1); p1.add(l2); p1.add(t2); p1.add(b1); p1.add(b2); f.add(p1); f.setVisible(true);
b1.addActionListener(this);
b2.addActionListener(new ActionListener() {// 为取消按钮添加时间处理
public void actionPerformed(ActionEvent ee) {
it(0);
}
});
}
(2)创建监听方法,并通过“String u1 = t1.getText();”和“String p1 = new Password());”分别获取界面中用户名和密码信息。
然后,通过if else语句来判断用户名和密码是否为空,若不为空则实例化lianjie( u1,p1)方法,并将用户名和密码信息传递过去。
public void actionPerformed(ActionEvent e) {
String u1 = t1.getText();
String p1 = new Password());
if (u1.equals("") && p1.equals("")) {
JOptionPane.showMessageDialog(null, "用户名和密码不能为空!", "警告",
JOptionPane.WARNING_MESSAGE);
} else {
try {
new lianjie(u1, p1);
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
public static void main(String[] args) {
new Register().init();
}
}
(3)创建lianjie类,并构造该类的方法。然后,连接数据库,并通过“select * from user”语句查询数据表中,用户名和密码信息,并返回数据集。
class lianjie {
String name;
String Password;
public lianjie(String u1, String p1) throws Exception {
try {
resultset 遍历 Class.forName("sql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://localhost:3306/studentmanage";
String user = "mysql";
String password = "123";
Connection conn = Connection(url, user, password);
// 创建用于将 SQL 语句发送到数据库的 SQLServerStatement 对象。
Statement st = ateStatement();
String sql = "select * from user";
ResultSet rs = st.executeQuery("select * from user");
(4)移动数据表中的指针,并通过do while循环语句,来遍历结果集中的数据,通过if语句判断用户名和密码是否与登录界面中输入的用户名和密码相同。
rs.next();
do {
name = rs.getString("use");
Password = rs.getString("pw");
if (u1.equals(name) || p1.equals(Password)) {
JOptionPane.showMessageDialog(null, "恭喜你,登录成功!", "提示",
JOptionPane.WARNING_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "登陆失败,用户名或密码错误!", "警告",
JOptionPane.WARNING_MESSAGE);
}
} while (rs.next());
conn.close();
} catch (SQLException ee) {
}
}
}
(5)执行代码,弹出【登录窗口】窗口,并输入用户名和密码内容,单击【登录】按钮。
若输入错误,则弹出【警告】提示框,并显示“登录失败,用户名或密码错误!”。若输入正确定,则提示“恭喜你,登录成功!”,如图13-2所示。
输入用户名和密码 用户名和密码错误 用户名和密码正确
图13-2 用户登录
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论