login.java

来自「可以用的成绩管理系统」· Java 代码 · 共 234 行

JAVA
234
字号
/**
 * @(#)Login.java
 *
 *
 * @author 
 * @version 1.00 2008/7/2
 */


import java.awt.*;
import javax.swing.*;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.*;
import java.sql.*;
public class Login implements ActionListener{
	
	private JFrame frObj;
	private JPanel panel1,panel2,panel3;
	private JLabel label1,label2;
	private JButton button1,button2,button3;
	private JTextField field;
	private JPasswordField pwfield;
	
	private JRadioButton radio1,radio2;
	private ButtonGroup buttgro;
	
	DataBaseManager db = new DataBaseManager();
	ResultSet rs;
	
	public static String sName ="";
	//声明一个带参的构造函数,登陆的时候,传递到登陆进去的界面,并且利用这个进行查询!
	public Login(String s){
		
		sName =s;
	}
	
	public Login(){
		
		frObj = new JFrame("登陆对话框");
		frObj.setBounds(300,200,400,310);
		frObj.setLayout(new BorderLayout());
		frObj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frObj.setSize(400,290);
		
		label1 = new JLabel("帐号:");
		label1.setPreferredSize(new Dimension(50,25));
		label2 = new JLabel("密码:");
		label2.setPreferredSize(new Dimension(50,25));
		Icon in = new ImageIcon("F:/1234.JPG");
		button1 = new JButton(in);
		button2 = new JButton("登陆");
		button2.addActionListener(this);
		button3 = new JButton("退出");
		button3.addActionListener(this);
		field = new JTextField("0508010001",10);
		field.setPreferredSize(new Dimension(130,25));
		pwfield = new JPasswordField("0508010001",10);
		pwfield.setEchoChar('*');
		pwfield.setPreferredSize(new Dimension(130,25));
		
		radio1 = new JRadioButton("学生",true);
		radio1.setPreferredSize(new Dimension(80,25));
		radio2 = new JRadioButton("教师");
		radio2.setPreferredSize(new Dimension(80,25));
		buttgro = new ButtonGroup();
		buttgro.add(radio1);
		buttgro.add(radio2);
		
		panel1 = new JPanel();
		panel1.setLayout(new BorderLayout());
		panel1.add(button1);
		panel1.setSize(390,120);
		panel1.setBackground(new Color(241,250,255));
		
		
		JPanel panel20 = new JPanel();
		panel20.setLayout(new FlowLayout(FlowLayout.CENTER));
		panel20.add(radio1);
		panel20.add(radio2);
		
		JPanel	panel21 = new JPanel();
		panel21.setLayout(new FlowLayout(FlowLayout.CENTER));
		panel21.add(label1);
		panel21.add(field);
		
		JPanel	panel22 = new JPanel();
		panel22.setLayout(new FlowLayout(FlowLayout.CENTER));
		panel22.add(label2);
		panel22.add(pwfield);
			
		panel2 = new JPanel();
		panel2.setLayout(new GridLayout(3,1));
		panel2.add(panel20);
		panel2.add(panel21);
		panel2.add(panel22);
		panel2.setSize(390,120);
		panel2.setBackground(new Color(241,250,255));
		
		
		panel3 = new JPanel();
		//panel3.setSize(390,70);
		panel3.setBounds(0,250,400,60);
		panel3.add(button2);
		panel3.add(button3);
		panel3.setBackground(new Color(241,250,255));
		
		frObj.getContentPane().setLayout(new BorderLayout());
		frObj.getContentPane().add(panel1,BorderLayout.NORTH);
		frObj.getContentPane().add(panel2,BorderLayout.CENTER);
		frObj.getContentPane().add(panel3,BorderLayout.SOUTH);
		frObj.setResizable(false);
		
	/*	frObj.getContentPane().setLayout(new GridLayout(3,1));
		frObj.getContentPane().add(panel1);
		frObj.getContentPane().add(panel2);
		frObj.getContentPane().add(panel3);
		frObj.setResizable(false);
	*/	
		frObj.setVisible(true);
		
	}
	
	private void loginPoss(){
		
		String name = "";
		String pword = "";
		String type = "";
		
		String myName= "";
		String myType = "";
		String myPword= "";
		
		name = String.valueOf(field.getText()).trim();
		pword = String.valueOf(pwfield.getPassword());
		if(name.equals("")||name ==null){
			
			JOptionPane.showMessageDialog(null,"请输入用户名!","提示",JOptionPane.ERROR_MESSAGE);
			
			return;
		}
		
		if(pword.equals("")||pword==null){
			
			JOptionPane.showMessageDialog(null,"请输入密码!","提示",JOptionPane.ERROR_MESSAGE);
			return ;
		}
		boolean bl = false;
		int i=0;
		try{
			
			String strSQL ="select * from Admin_Info where User_name ='"+name+"'and Password='"+
			       pword+"'";
			db.rs = db.getResult(strSQL);
			
			while(db.rs.next()){
				myName = db.rs.getString(1);
				myType = db.rs.getString(2);
				myPword = db.rs.getString(3);
				if(radio1.isSelected()){
					type ="0";
				}else{
					type ="1";
				}
				if(myName.equals(name)){
					if(myType.equals(type)){

						if(myPword.equals(pword)){
							//选择登陆方式
						
							if(radio1.isSelected()){
								frObj.dispose();
								new Login(name);
								StudentFace sf = new StudentFace();	
							}
						
							if(radio2.isSelected()){
								frObj.dispose();
								new Login(name);
								MainFace mf = new MainFace();
							}
						}else{
							JOptionPane.showMessageDialog(null,"登陆失败,密码错误!",
							"提示",JOptionPane.ERROR_MESSAGE);
							break;
						}
						
					}else{
						
 						JOptionPane.showMessageDialog(null,"权限不对!",
							"提示",JOptionPane.ERROR_MESSAGE);
							break;
					}
					
				}else{
					JOptionPane.showMessageDialog(null,"登陆失败,没有这个用户!",
							"提示",JOptionPane.ERROR_MESSAGE);
						break;	
				}	
				
			}
				
		}catch(SQLException ex){
				System.out.println(ex);
		}catch(NullPointerException nex){
			System.out.println(nex);
		}
		
		/*if(bl){
			
		}*/
	}
	
	private void loginCanel(){
		
		System.exit(0);
	}
	public static void main(String[] args){
		
		Login log = new Login();
		
	}
	
	//事件监听!
	public void actionPerformed(ActionEvent e) {
		Object o = e.getSource();
		if (o.equals(this.button2))
			this.loginPoss();
		else if (o.equals(this.button3))	
			this.loginCanel();
	}
}

⌨️ 快捷键说明

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