图书馆管理系统登陆界面
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、程序代码
package window;
import data.BaseDao;
import java.awt.AWTEvent;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.sql.ResultSet;
import javax.swing.*;
import javax.swing.plaf.FontUIResource;
import util.GlobalVar;
/**
* 类Login用于显示登录界面,要求系统用户输入正确的用户名和密码。*
* @author raymond
*/
public class Login extends JFrame {
private JLabel lb_user;
private JTextField tf_user;
private JLabel lb_pass;
private JPasswordField pf_pass;
private JButton btn_ok;
private JButton btn_cancel;
private int num = 0;//用来记录登陆不成功的次数
public Login() {
UIUtil.setUIFont(new FontUIResource("宋体", Font.BOLD, 15));
initComponents();
}
// 初始化组件
private void initComponents() {
lb_user = new JLabel();
tf_user = new JTextField();//用户名输入文本框
lb_pass = new JLabel();
pf_pass = new JPasswordField();//密码输入文本框
btn_ok = new JButton();//确认按钮
btn_cancel = new JButton();//取消按钮
setTitle("用户登录界面");
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container contentPane = getContentPane();
contentPane.setLayout(new GridLayout(3, 2));
lb_user.setText("用户名:");
lb_user.setHorizontalAlignment(SwingConstants.RIGHT);
tf_user.addKeyListener(new KeyEnter());
contentPane.add(lb_user);
contentPane.add(tf_user);
lb_pass.setText("密码:");
lb_pass.setHorizontalAlignment(SwingConstants.RIGHT);
pf_pass.addKeyListener(new KeyEnter());
contentPane.add(lb_pass);
contentPane.add(pf_pass);
btn_ok.setText("确定");
btn_ok.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
btn_okActionPerformed(e);
}
});
contentPane.add(btn_ok);
btn_cancel.setText("取消");
btn_cancel.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
btn_cancelActionPerformed(e);
}
});
contentPane.add(btn_cancel);
setSize(225, 150);
setLocationRelativeTo(getOwner());
}
// "确定"按钮响应事件
private void btn_okActionPerformed(AWTEvent e) {
String user = tf_user.getText(); // 获得用户名
String pass = String.valueOf(pf_pass.getPassword()); // 获得密码
String username;
int is_admin;
// 未输入用户名
if (user.equals("")) {
JOptionPane.showMessageDialog(this, "用户名不允许为空!");
return;
}
try {
// 在数据库中查询
String sqlStr = "select * from users where name='" + user
+ "' and pass='" + pass + "'";
ResultSet result = BaseDao.executeQuery(sqlStr);
if (result.next()) {
username = result.getString("name");
is_admin = result.getInt("is_admin");
BaseDao.close();
} else {
JOptionPane.showMessageDialog(this, "用户名或密码不正确!");
BaseDao.close();
//当登录不成功次数超过3次,则自动退出
if (num < 3) {
num++;
} else {
JOptionPane.showMessageDialog(this, "尝试次数过多!");
this.dispose();
}
return;
}
GlobalVar.login_user = username; // 记录当前用户
// 进入主界面
Main main = new Main();
main.setPurView((byte) is_admin);
this.dispose();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}