⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 login.java

📁 用java刚刚写了不久的学生管理系统
💻 JAVA
字号:
//作者:沈阳
//时间:200年11月7日
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.sql.*;
/*--------------------------------------Login------------------------------------------*/
class Login extends JDialog implements ActionListener{
	JPanel p1 = new JPanel();
	JPanel p2 = new JPanel();
	JPanel p3 = new JPanel();
	JPanel p4 = new JPanel();
	JPanel p5 = new JPanel();
	JTextField txtUserName = new JTextField(15);
	JPasswordField txtPassWord = new JPasswordField(15);
	JButton submit = new JButton("登录S");
	JButton reset = new JButton("重置R");
	static int count;
	public Login(){
		count = 0;	
		setModal(true);
		setBackground(Color.LIGHT_GRAY);
		Container contentPane = this.getContentPane();
		contentPane.setLayout(new GridLayout(5,1));
		p2.add(new JLabel("用户名:"));
		p2.add(txtUserName);
		p3.add(new JLabel("密 码:"));
		p3.add(txtPassWord);
		submit.setMnemonic('S');
		reset.setMnemonic('R');
		p4 = new JPanel(new FlowLayout(FlowLayout.CENTER,35,5));
		p4.add(submit);
		p4.add(reset);
		submit.addActionListener(this);
		reset.addActionListener(this);
		txtUserName.addActionListener(this);
		txtPassWord.addActionListener(this);
		contentPane.add(p1);
		contentPane.add(p2);
		contentPane.add(p3);
		contentPane.add(p4);
		contentPane.add(p5);
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setSize(300,220);
		Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
		setLocation((screen.width - 300) / 2,(screen.height - 220) / 2);
		setTitle("登录窗口");
		setResizable(false);
		setVisible(true);
	}
	//----------------------------------actionPerformed-------------------------------------
	public void actionPerformed(ActionEvent e){
        Statement stm = null;
    	ResultSet rst = null;
    	boolean flag = false;
    	int priority = 0;
    	String userName = txtUserName.getText().trim();
    	String password = txtPassWord.getText().trim();
    	ConnectServer.mainLink();		//建立和数据库的连接。
	   	try{
    		stm = ConnectServer.con.createStatement
    			(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    		rst = stm.executeQuery("SELECT * FROM [user]");
     		while(rst.next()){
     			if(userName.equals(rst.getString("user_name"))&& password.equals(rst.getString("password")) ){
     				flag = true;
     				priority =Integer.parseInt(rst.getString("priority"));	
     			}
     		}
     		stm.close();				//关闭数据库连接
     		ConnectServer.close();	
     		//--------------------------------判断用户名和密码是否合法-----------------------------------
     		if(e.getSource() == submit || e.getSource() == txtPassWord){
				if(flag == true){
					dispose();
	  		    	new MainWindow(priority);			// for latter change.
				}	
				else{
					count++;
					if(count >= 3){		  			 //提供三次输入机会,超过三次则自动锁定。
						JOptionPane.showMessageDialog(null,"输入超过三次,已被锁定!");
						dispose();
						System.exit(0);
					}
					JOptionPane.showMessageDialog(null,"用户名或密码错误!");
					txtUserName.setText("");
					txtPassWord.setText("");
					txtUserName.requestFocus();
					txtUserName.setSelectionStart(0);
					txtUserName.setSelectionEnd(txtUserName.getText().length());	
				}
			}
			else if(e.getSource() == reset){
				txtUserName.setText("");
				txtPassWord.setText("");	
				txtUserName.requestFocus();
				txtUserName.setSelectionStart(0);
				txtUserName.setSelectionEnd(txtUserName.getText().length());
			}	
			else if(e.getSource() == txtUserName){
				txtPassWord.requestFocus();	
			}
     	}
     	catch(Exception ee){
    			JOptionPane.showMessageDialog(null,"数据库操作失败!");	
    			System.exit(0);
	  	}
	}// end of actionPerformed
}// end of class Login

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -