Java仿Vista登录窗口(null布局的使用)


源码

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
public class Main extends javax.swing.JFrame {
	
	private Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); // Determine user's screen size
    
    /** Creates new form NewAccount */
    public Main() {
        initComponents();
    }
    
    private void initComponents()
    	{
    	setResizable (false);
    	setLocation (d.width / 2 - getWidth() / 2, d.height / 2 - getHeight() / 2);
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        admin_userid = new javax.swing.JTextField();
        admin_password = new javax.swing.JPasswordField();
        staff_userid = new javax.swing.JTextField();
        staff_password = new javax.swing.JPasswordField();
        btnOk = new javax.swing.JButton();

        
        Icon login = new ImageIcon("img/login.JPG");
        JLabel computer = new JLabel(login);
        Icon tabbed = new ImageIcon("img/admin.gif");
        JLabel tab = new JLabel(tabbed);
        Icon tabbed2 = new ImageIcon("img/staff.gif");
        JLabel tab2 = new JLabel(tabbed2);

        getContentPane().setLayout(null);
        
        setTitle("SDMS");
        
        getContentPane().add(computer);
        computer.setBounds(40, 0, 273, 216);
        	
        //Admin Username label
        jLabel1.setForeground (Color.black);
        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel1.setText("Username :");
        getContentPane().add(jLabel1);
        jLabel1.setBounds(50, 265, 75, 25);
        
        //Admin Password label
        jLabel2.setForeground (Color.black);
        jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel2.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel2.setText("Password :");
        getContentPane().add(jLabel2);
        jLabel2.setBounds(50, 300, 75, 25);

        getContentPane().add(admin_userid);
        getContentPane().add(admin_password);
        admin_userid.setBounds(130, 265, 150, 25);        
        admin_password.setBounds(130, 300, 150, 25);
        
        //Staff Username label
        jLabel3.setForeground (Color.black);
        jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel3.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel3.setText("Username :");
        getContentPane().add(jLabel3);
        jLabel3.setBounds(50, 375, 75, 25);
        
        //Staff Password label
        jLabel4.setForeground (Color.black);
        jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel4.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel4.setText("Password :");
        getContentPane().add(jLabel4);
        jLabel4.setBounds(50, 410, 75, 25);

        getContentPane().add(staff_userid);
        getContentPane().add(staff_password);
        getContentPane().setBackground(Color.white);
        staff_userid.setBounds(130, 375, 150, 25);        
        staff_password.setBounds(130, 410, 150, 25);
        
        getContentPane().add(btnOk);
        
        getContentPane().add(tab);
        tab.setBounds(40, 225, 280,110);
        
        getContentPane().add(tab2);
        tab2.setBounds(40, 335, 280,110);
        
        //Login button
        btnOk.setText("LOGIN");
        btnOk.setFont(new java.awt.Font("Tahoma", 1, 9));
        btnOk.setBackground(Color.white);
        btnOk.setBounds (236, 442, 70, 25);
        btnOk.setToolTipText("Click to login");
		btnOk.addActionListener(new ActionListener(){
  			public void actionPerformed(ActionEvent evt)
			{
				if (!staff_userid.getText().equals("") && !staff_password.getText().equals(""))
					{
						verifystaffLogin();
					}
				else if (!admin_userid.getText().equals("") && !extracted().equals(""))
					{
						verifyadminLogin();
					}
			}
        });
        pack();
        setIconImage (getToolkit().getImage ("img/logo_1.png"));
		setSize (370, 500);
		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
		setVisible(true);
		}
    
   
    public static void main(String args[]) {
        new Main();
    }
    
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JPasswordField admin_password;
    private javax.swing.JButton btnOk;
    private javax.swing.JTextField admin_userid;
    private javax.swing.JTextField staff_userid;
    private javax.swing.JPasswordField staff_password;
    
	void verifyadminLogin() 
		{
				Connection con=null;
				String url="jdbc:odbc:DobiTest";
				Statement st=null;
				
			  try
			  {
					
						 String val1=admin_userid.getText();
						 val1=val1.trim();
						 String val2 =  (String)extracted();
						 val2 =  val2.trim();					
					
					Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
					
			   		con=DriverManager.getConnection(url);
					
			   		st = con.createStatement();
					
	
				ResultSet rs=st.executeQuery("Select password from admin where username='"+val1+"'");
				
				while(rs.next()){
					String user = rs.getString(1);
					
					boolean b=user.equals(val2);				
				
					if(b)
					{
					setVisible(false);
					JOptionPane.showMessageDialog((Component) null, "Wow! U got it! Hihi =B", "Mmuahaha", JOptionPane.PLAIN_MESSAGE);
				//	MainMenu menu=new MainMenu();  << To link to other page, replace it with yours
					}
					 else
					{
						JOptionPane.showMessageDialog((Component) null, "ÃÜÂëŽíÎó ", "Login Error", JOptionPane.INFORMATION_MESSAGE);
						admin_password.setText("");
						admin_password.requestFocus();
					}
					}
			  }
			  catch(SQLException ex)
			   {
			    System.out.println("Unable to access the database");
			   }
			  catch(ClassNotFoundException ex)
			   {
			    System.out.println("Class not found");
			   }
			  catch(Exception ex)
			  {
               System.out.println("Exception raised is:"+ex);
			  }
			  finally {
			  con=null;
			  }
		}

	private String extracted()
	{
		return admin_password.getText();
	}
		
	void verifystaffLogin() 
		{
				Connection con=null;
				String url="jdbc:odbc:DobiTest";
				Statement st=null;
				
			  try
			  {
					
						 String val1=staff_userid.getText();
						 val1 = val1.trim();
						 String val2 =  (String)staff_password.getText();
						 val2 = val2.trim();					
					
					Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
					
			   		con=DriverManager.getConnection(url);
					
			   		st = con.createStatement();
					
	
				ResultSet rs=st.executeQuery("Select password from staff where username='"+val1+"'");
				
				while(rs.next()){
					String user = rs.getString(1);
					
					boolean b=user.equals(val2);				
				
					if(b)
					{
					setVisible(false);
					JOptionPane.showMessageDialog((Component) null, "Wow! U got it here too! Hihi =B", "Mmuahaha", JOptionPane.PLAIN_MESSAGE);
				//	MainMenu menu=new MainMenu(); << To link to other page, replace it with yours
					}
					 else
					{
						JOptionPane.showMessageDialog((Component) null, "Invalid password. Please try again. ", "Login Error", JOptionPane.INFORMATION_MESSAGE);
						staff_password.setText("");
						staff_password.requestFocus();
					}
					}
			  }
			  catch(SQLException ex)
			   {
			    System.out.println("Unable to access the database");
			   }
			  catch(ClassNotFoundException ex)
			   {
			    System.out.println("Class not found");
			   }
			  catch(Exception ex)
			  {
               System.out.println("Exception raised is:"+ex);
			  }
			  finally {
			  con=null;
			  }
		}	
}

截图



声明:源码来自《源码爱好者》



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值