📄 framlogin.java
字号:
/**
* 创建时间:2006年2月7日
* 作 者:孙丰伟
* 功 能:连接数据库SqlServer2000,如果连接正常返回连接对象,否则返回null
*/
package cn.sunfengwei.employee.view;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import cn.sunfengwei.employee.model.*;
class FramLogin extends JFrame
{
private Container contentPane;
//用户名
private JTextField txtUserId;
//密码
private JPasswordField txtPassword;
public FramLogin(String title)
{
super(title);
this.setSize(260, 150);
this.setLocationRelativeTo(null);
//当单击窗口上的关闭按钮时,关闭整个程序
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contentPane=this.getContentPane();
//使用Box容器,设置登录窗体中的组件
Box boxTitle=Box.createVerticalBox();
boxTitle.add(Box.createVerticalStrut(6));
boxTitle.add(new JLabel("用户ID:"));
boxTitle.add(Box.createVerticalStrut(10));
boxTitle.add(new JLabel("密 码:"));
txtUserId=new JTextField(16); //20个字符
txtPassword=new JPasswordField();
Box boxUser=Box.createVerticalBox();
boxUser.add(Box.createVerticalStrut(6));
boxUser.add(txtUserId);
boxUser.add(Box.createVerticalStrut(10));
boxUser.add(txtPassword);
Box baseBox=Box.createHorizontalBox();
baseBox.add(boxTitle);
baseBox.add(Box.createHorizontalStrut(10));
baseBox.add(boxUser);
/*-----------------------------------------------*/
JButton btnOk=new JButton("登录");
//将btn按钮设置为默认按钮
this.getRootPane().setDefaultButton(btnOk);
btnOk.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
validateAccount();
}
});
JButton btnCancel=new JButton("取消");
btnCancel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
//退出系统
System.exit(0);
}
});
JPanel panel=new JPanel();
panel.add(btnOk);
panel.add(btnCancel);
//内容面板为流式布局
contentPane.setLayout(new FlowLayout());
//窗体不可改变大小
this.setResizable(false);
contentPane.add(baseBox);
contentPane.add(panel);
contentPane.validate();
}
/**
* 方法用来验证用户输入的用户名与密码是否与数据库中已经存在的相符,
* 如果用户名与密码验证正确,则进入程序主窗口,否则重新输入.
*/
public void validateAccount()
{
//获取窗体上输入的用户名与密码
String user=txtUserId.getText().trim();
//注意,得到的密码是char数组,这里使用String的构造方法,将其转化为字符串通
String password=new String(txtPassword.getPassword());
// //用户名与密码正确,否则用户名与密码输入错误
UserDAO accountDAO=new UserDAO();
UserDTO account=new UserDTO(user,password);
try{
if(accountDAO.isCorrectAccount(account))
{
FormMain main=new FormMain("★★★★★员工管理信息系统★★★★★");
main.setVisible(true);
main.setAccount(account);
FramLogin.this.dispose();
}
//当用户验证失败后,清除刚输入的密码,将txtUser获取焦点,然后选中txtUser中所有内容
else
{
txtPassword.setText("");
//txtUserId必须先获取焦点后,再选择全部内容
txtUserId.requestFocus();
txtUserId.selectAll();
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(this,"数据库连接失败,请确定数据服务是否确定!","系统提示",JOptionPane.ERROR_MESSAGE);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -