图书馆管理系统登陆界面.doc
- 文档编号:235704
- 上传时间:2022-10-07
- 格式:DOC
- 页数:5
- 大小:154KB
图书馆管理系统登陆界面.doc
《图书馆管理系统登陆界面.doc》由会员分享,可在线阅读,更多相关《图书馆管理系统登陆界面.doc(5页珍藏版)》请在冰豆网上搜索。
1、程序代码
packagewindow;
importdata.BaseDao;
importjava.awt.AWTEvent;
importjava.awt.Container;
importjava.awt.Font;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.KeyAdapter;
importjava.awt.event.KeyEvent;
importjava.sql.ResultSet;
importjavax.swing.*;
importjavax.swing.plaf.FontUIResource;
importutil.GlobalVar;
/**
*类Login用于显示登录界面,要求系统用户输入正确的用户名和密码。
*
*@authorraymond
*/
publicclassLoginextendsJFrame{
privateJLabellb_user;
privateJTextFieldtf_user;
privateJLabellb_pass;
privateJPasswordFieldpf_pass;
privateJButtonbtn_ok;
privateJButtonbtn_cancel;
privateintnum=0;//用来记录登陆不成功的次数
publicLogin(){
UIUtil.setUIFont(newFontUIResource("宋体",Font.BOLD,15));
initComponents();
}
//初始化组件
privatevoidinitComponents(){
lb_user=newJLabel();
tf_user=newJTextField();//用户名输入文本框
lb_pass=newJLabel();
pf_pass=newJPasswordField();//密码输入文本框
btn_ok=newJButton();//确认按钮
btn_cancel=newJButton();//取消按钮
setTitle("用户登录界面");
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ContainercontentPane=getContentPane();
contentPane.setLayout(newGridLayout(3,2));
lb_user.setText("用户名:
");
lb_user.setHorizontalAlignment(SwingConstants.RIGHT);
tf_user.addKeyListener(newKeyEnter());
contentPane.add(lb_user);
contentPane.add(tf_user);
lb_pass.setText("密码:
");
lb_pass.setHorizontalAlignment(SwingConstants.RIGHT);
pf_pass.addKeyListener(newKeyEnter());
contentPane.add(lb_pass);
contentPane.add(pf_pass);
btn_ok.setText("确定");
btn_ok.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
btn_okActionPerformed(e);
}
});
contentPane.add(btn_ok);
btn_cancel.setText("取消");
btn_cancel.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
btn_cancelActionPerformed(e);
}
});
contentPane.add(btn_cancel);
setSize(225,150);
setLocationRelativeTo(getOwner());
}
//"确定"按钮响应事件
privatevoidbtn_okActionPerformed(AWTEvente){
Stringuser=tf_user.getText();//获得用户名
Stringpass=String.valueOf(pf_pass.getPassword());//获得密码
Stringusername;
intis_admin;
//未输入用户名
if(user.equals("")){
JOptionPane.showMessageDialog(this,"用户名不允许为空!
");
return;
}
try{
//在数据库中查询
StringsqlStr="select*fromuserswherename='"+user
+"'andpass='"+pass+"'";
ResultSetresult=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;//记录当前用户
//进入主界面
Mainmain=newMain();
main.setPurView((byte)is_admin);
this.dispose();
}catch(Exceptionex){
System.out.println(ex.getMessage());
}
}
//"取消"按钮响应事件
privatevoidbtn_cancelActionPerformed(ActionEvente){
this.dispose();
}
//接受键盘响应事件
privateclassKeyEnterextendsKeyAdapter{
@Override
publicvoidkeyPressed(KeyEvente){
intkeycode=e.getKeyCode();
if(keycode==KeyEvent.VK_ENTER){
btn_okActionPerformed(e);
}
}
}
publicstaticvoidmain(Stringargs[]){
(newLogin()).setVisible(true);
}
}
2、界面截图
图1登录界面
图2当输入的用户名为空时,弹出的消息框
图3当输入的用户名或密码不正确时,弹出的消息框
图4当登录不成功次数过多时,弹出的消息框
3、界面描述
(1)界面友好,简单明了
(2)提供了必要的功能
(3)具有较强的容错性
(4)具有较强的安全性
五.实验体会
我觉得系统登录界面的主要突显方面应该是安全性,所以我将界面做的看起来比较简单,但加入了登录的安全机制,例如当登录不成功次数过多时,会自动退出等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理 系统 登陆 界面
![提示](https://static.bdocx.com/images/bang_tan.gif)