📄 loginframe.java
字号:
/*此类负责登录的界面与功能的实现*/
package pro;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LoginFrame extends JDialog
{
private JTextField txtName;
private JPasswordField pwf;
private JButton btnLogin, btnExit;
int m=0;
String[] str=new String[]{"普通用户","管理员"};
JComboBox cboQuanxian=new JComboBox(str);
public LoginFrame()
{
java.awt.Container me = this.getContentPane();
me.add(new BackPanel(0));
this.addWindowListener(new java.awt.event.WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
int select = JOptionPane.showConfirmDialog(null, "您真的要退出吗?", "退出询问", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (select == JOptionPane.YES_OPTION)
{
exit();
}
}
});
this.setTitle("用户登录");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
this.setSize(372, 320);
this.setResizable(false);
this.setVisible(true);
m=1;
}
private void login(int s)
{
m=s;
VoUser vo=new VoUser();
String strUser = txtName.getText().trim();
String strPwd = pwf.getText();
vo.setmName(strUser);
vo.setmPwd(strPwd);
DaoUser du = new DaoUser();
int iine=du.checkLogin(vo);
int index=this.cboQuanxian.getSelectedIndex();
if (iine==0 )
{
if(m==1&&index==1)
{
System.out.println ("m==0===1");
new MainFrame(0);
this.dispose();
}
else
{
JOptionPane.showMessageDialog(this,"用户权限有误!.请输入正确的用户权限!","错误",JOptionPane.INFORMATION_MESSAGE);
}
}
if(iine==1)
{
if(m==1&&index==0)
{
System.out.println ("m==1====");
new MainFrame(1);
this.dispose();
}
else
{
JOptionPane.showMessageDialog(this,"用户权限有误!.请输入正确的用户权限!","错误" ,JOptionPane.INFORMATION_MESSAGE);
}
}
if(iine==2)
{
txtName.setText("");
pwf.setText("");
JOptionPane.showMessageDialog(this, "用户名或密码不正确,请重新输入",
"登录失败", JOptionPane.ERROR_MESSAGE);
txtName.requestFocus();
}
}
private void exit()
{
DatabaseConnection.closeConnection();
System.exit(0);
}
private class BackPanel extends JPanel
implements ActionListener,
KeyListener
{
public BackPanel(int i)
{
JLabel labQuanxian=new JLabel("用户权限:");
JLabel lblName = new JLabel("用户名:");
txtName = new JTextField();
JLabel lblPwd = new JLabel("密码:");
pwf = new JPasswordField();
btnLogin = new JButton("登录");
btnExit = new JButton("退出");
lblName.setBounds(56,104, 73, 21);
labQuanxian.setBounds(56,40,73,21);
//labQuanxian.setBounds(56,);/**/
cboQuanxian.setBounds(159,40,123,24);
txtName.setBounds(159, 104, 123, 24);
lblPwd.setBounds(56, 167, 73, 21);
pwf.setBounds(159, 164, 123, 24);
btnLogin.setBounds(70, 224, 81, 26);
btnExit.setBounds(199, 224, 81, 26);
btnLogin.setActionCommand("login");
// lbtnExit.setActionCommand("exit");
btnLogin.addActionListener(this);
btnExit.addActionListener(this);
pwf.addKeyListener(this);
if(i<1)
{
btnExit.setEnabled(true);
}
else
{
btnExit.setEnabled(false);
}
this.setLayout(null);
this.add(labQuanxian);
this.add(cboQuanxian);
this.add(lblName);
this.add(txtName);
this.add(lblPwd);
this.add(pwf);
this.add(btnLogin);
this.add(btnExit);
}
public void paintComponent(Graphics g)//传一个画笔进来!
{
javax.swing.ImageIcon ii = new ImageIcon("img/login.jpg");//把图片读出来!
g.drawImage(ii.getImage(), 0, 0, this);//画画,定位置!
}
public void actionPerformed(ActionEvent ae)
{
String strCmd = ae.getActionCommand();
if (strCmd.equals("login"))
{
login(m);
}
else if (strCmd.equals("exit"))
{
exit();
}
}
public void keyTyped(KeyEvent ke)//设置快捷键
{
if (ke.getKeyChar() == 10)
{
login(m);
}
if (ke.getKeyChar() == 27)
{
exit();
}
}
public void keyPressed(KeyEvent ke){}
public void keyReleased(KeyEvent ke){}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -