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

📄 login.java

📁 这是一个用java语言写的桌面登陆程序
💻 JAVA
字号:
//引入各种此applet程序所需的包

import java.awt.*;
import java.awt.event.*;
import javax.swing.JLabel;//加入jlabel类
import javax.swing.JOptionPane;//加入消息框类
import java.sql.*;//加入连接数据库所用sql包



class Login extends Frame implements ActionListener
{
	//域中声明界面上所使用的组件
	Button b_login;
	Button b_exit;
	Button b_register;
	TextField t_username;
	TextField t_password;
	TextField t_message;
	JLabel l_title;
	JLabel l_name;
	JLabel l_pass;
	
	//声明布局所用对象
	Insets insert;
	GridBagConstraints c;
	Font f;
	
	Register r;//声明注册界面对象
	
	Login(final String s)//重写构造方法
	{
		super(s);
		
		r=new Register("用户注册:");//实现注册界面对象
		
		//实现各种组建
		t_username=new TextField("请输入您的用户名!",20);
		t_password=new TextField("请输入您的用密码!",20);
		t_password.setEchoChar('*');
		
		b_login=new Button("登录");
		b_exit=new Button("退出");
		b_register=new Button("注册");
		b_login.addActionListener(this);
		b_exit.addActionListener(this);
		b_register.addActionListener(this);
		
		l_name=new JLabel("用户名:");
		l_pass=new JLabel("密  码:");
		l_title=new JLabel("==用户登录==");
		
		f=new Font("华文新魏",Font.PLAIN,18);
		l_title.setFont(f);
		l_title.setForeground(Color.blue);
		
		
		//设置界面布局格式,采用GridBagLayout布局,此布局必须使用GridBagConstraints作限制,GridBagConstraints构造方法参数列表如下:
		//GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);		
		insert=new Insets(3,3,3,3);//设置组建间距
		
		GridBagLayout  gbl=new GridBagLayout();
		setLayout(gbl);
		setResizable(false);
		
		//布局各个组建,并加入此frame
		c=new GridBagConstraints(1,0,1,1,1,1,GridBagConstraints.CENTER,
				GridBagConstraints.NONE,insert,0,0);
		gbl.setConstraints(l_title,c);
		add(l_title);
		
		c=new GridBagConstraints(0,1,1,1,1,1,GridBagConstraints.NORTHWEST,
				GridBagConstraints.NONE,insert,0,0);
		gbl.setConstraints(l_name,c);
		add(l_name);
		c=new GridBagConstraints(0,2,1,1,1,1,GridBagConstraints.NORTHWEST,
				GridBagConstraints.NONE,insert,0,0);
		gbl.setConstraints(l_pass,c);
		add(l_pass);
		
		c=new GridBagConstraints(1,1,1,1,1,1,GridBagConstraints.NORTHWEST,
				GridBagConstraints.NONE,insert,1,1);
		gbl.setConstraints(t_username,c);
		add(t_username);
		c=new GridBagConstraints(1,GridBagConstraints.RELATIVE,1,1,1,1,GridBagConstraints.NORTHWEST,
				GridBagConstraints.NONE,insert,1,1);
		gbl.setConstraints(t_password,c);
		add(t_password);
		
		c=new GridBagConstraints(2,1,1,1,1,1,GridBagConstraints.NORTHWEST,
				GridBagConstraints.NONE,insert,1,1);
		gbl.setConstraints(b_login,c);
		add(b_login);
		c=new GridBagConstraints(2,GridBagConstraints.RELATIVE,1,1,1,1,GridBagConstraints.NORTHWEST,
				GridBagConstraints.NONE,insert,1,1);
		gbl.setConstraints(b_register,c);
		add(b_register);
		
		insert=new Insets(3,3,8,3);
		c=new GridBagConstraints(1,3,1,1,1,1,GridBagConstraints.CENTER,
				GridBagConstraints.NONE,insert,1,1);
		gbl.setConstraints(b_exit,c);
		add(b_exit);
				
		setBounds(280,180,300,300);//设置窗体大小
		setVisible(true);//设置窗体可见
		pack();//剪裁窗体无用空间
		setResizable(false);//设置窗体大小不可变
		
		//给窗体添加WindowListener适配器
		addWindowListener(
		           new WindowAdapter(){
		               public void windowClosing(WindowEvent e){
		                  System.exit(0);//退出程序
		               }
		           }
		      ); 
		//给文本框添加MouseListener适配器
		t_username.addMouseListener(
		           new MouseAdapter(){
		               public void mouseClicked(MouseEvent e){
		                  t_username.selectAll();
		               }
		           }
		      ); 
		t_password.addMouseListener(
		           new MouseAdapter(){
		               public void mouseClicked(MouseEvent e){
		                  t_password.selectAll();
		               }
		           });
	}
	public void actionPerformed(final ActionEvent e)
	{
		if(e.getSource()==b_login)//如果事件源是登陆按钮
		{
			String passw="";
			final String JDriver="sun.jdbc.odbc.JdbcOdbcDriver";  //声明jdbc驱动程序类型
			final String conURL="jdbc:odbc:UserDB";  //jdbc对象的URL
			try{
				Class.forName(JDriver);  //加载jdbc-odbc桥驱动程序
			}catch(final java.lang.ClassNotFoundException e1)  //处理意外
			{
				t_message.setText(e1.getMessage());
			}
			try{
				final Connection con=DriverManager.getConnection(conURL);  //设置数据库联接url
				final Statement s=con.createStatement();  //建立statement对象
				final String query="select password from Users where username='"+t_username.getText()+"'";  //设置sql语句查询字段为t_username.getText()值的元组
				ResultSet rs = s.executeQuery(query);  //执行sql语句并将结果存入rs结果集
				rs.next();  //设置结果集游标
				passw=rs.getString("password");	//取password字段值
				s.close();	//释放数据库及所连jdbc资源
				con.close();	//关闭连接
			}catch(final SQLException e2){	}
			if(passw.isEmpty())//如果所查询用户的密码为空则弹出消息框要求重新输入或注册
			{
				int n=JOptionPane.showConfirmDialog(this,"你的用户名输入错误或您还没有注册。\n要注册吗?","错误!",JOptionPane.YES_NO_OPTION);
				if (n==JOptionPane.YES_OPTION)
				{
					r.setVisible(true);
					setVisible(false);
				}
				else
				{
					t_username.setText("");
					t_password.setText("");
					t_username.requestFocus();
				}
			}
			else if(passw.equals(t_password.getText())) //成功登陆
				JOptionPane.showMessageDialog(this,"您已通过口令验证,登陆系统成功!","登陆成功!",JOptionPane.PLAIN_MESSAGE);
			else //密码错误
			{
				JOptionPane.showMessageDialog(this,"密码错误!请重新登陆。","错误!",JOptionPane.WARNING_MESSAGE);
				t_username.setText("");
				t_password.setText("");
				t_username.requestFocus();
			}
		}
		if(e.getSource()==b_register) 
		//如果事件源是注册按钮则进入注册窗口并隐藏登陆窗口
		{
			r.setVisible(true);
			setVisible(false);
		}
		if(e.getSource()==b_exit)
			System.exit(0);  //退出
	}
}



class Register extends Frame implements ActionListener
{
	//域中声明界面上所使用的组件及布局
	JLabel l_title;
	JLabel l_name;
	JLabel l_pass;
	Insets insert;
	Button b_submit;
	Button b_exit;
	TextField t_username;
	TextField t_password;
	GridBagConstraints c;
	Font f;
	
	public Register(String s)//重写构造方法
	{
		super(s);
		//实现组建
		t_username=new TextField("请输入您的用户名!",20);
		t_password=new TextField("请输入您的用密码!",20);
		t_password.setEchoChar('#');
		
		b_submit=new Button("提交");
		b_exit=new Button("退出");
		b_submit.addActionListener(this);
		b_exit.addActionListener(this);
		
		l_name=new JLabel("用户名:");
		l_pass=new JLabel("密  码:");
		l_title=new JLabel("==用户注册==");
		
		f=new Font("华文行楷",Font.PLAIN,18);
		l_title.setFont(f);
		l_title.setForeground(Color.red);
		
		//布局同上
		insert=new Insets(3,3,3,3);
		
		GridBagLayout gbl=new GridBagLayout();
		setLayout(gbl);
		
		c=new GridBagConstraints(1,0,1,1,1,1,GridBagConstraints.CENTER,
				GridBagConstraints.NONE,insert,0,0);
		gbl.setConstraints(l_title,c);
		add(l_title);
		
		c=new GridBagConstraints(0,1,1,1,1,1,GridBagConstraints.NORTHWEST,
				GridBagConstraints.NONE,insert,0,0);
		gbl.setConstraints(l_name,c);
		add(l_name);
		c=new GridBagConstraints(0,2,1,1,1,1,GridBagConstraints.NORTHWEST,
				GridBagConstraints.NONE,insert,0,0);
		gbl.setConstraints(l_pass,c);
		add(l_pass);
		
		c=new GridBagConstraints(1,1,1,1,1,1,GridBagConstraints.NORTHWEST,
				GridBagConstraints.NONE,insert,1,1);
		gbl.setConstraints(t_username,c);
		add(t_username);
		c=new GridBagConstraints(1,GridBagConstraints.RELATIVE,1,1,1,1,GridBagConstraints.NORTHWEST,
				GridBagConstraints.NONE,insert,1,1);
		gbl.setConstraints(t_password,c);
		add(t_password);
		
		c=new GridBagConstraints(2,1,1,1,1,1,GridBagConstraints.NORTHWEST,
				GridBagConstraints.NONE,insert,1,1);
		gbl.setConstraints(b_submit,c);
		add(b_submit);		
		insert=new Insets(3,3,28,3);
		c=new GridBagConstraints(2,GridBagConstraints.RELATIVE,1,1,1,1,GridBagConstraints.CENTER,
				GridBagConstraints.NONE,insert,1,1);
		gbl.setConstraints(b_exit,c);
		add(b_exit);
		
		//添加鼠标和窗体适配器
		t_username.addMouseListener(
		           new MouseAdapter(){
		               public void mouseClicked(MouseEvent e){
		                  t_username.selectAll();
		               }
		           }
		      ); 
		t_password.addMouseListener(
		           new MouseAdapter(){
		               public void mouseClicked(MouseEvent e){
		                  t_password.selectAll();
		               }
		           });
		addWindowListener(
		           new WindowAdapter(){
		               public void windowClosing(WindowEvent e){
		                  System.exit(0);
		               }
		           }
		      ); 
		
		//设置窗体,同上
		setVisible(false);
		setBounds(60,60,300,300);
		pack();
		setResizable(false);
	}
	public void actionPerformed(final ActionEvent e)
	{
		if(e.getSource()==b_submit)//如果事件源是注册按钮
		{
			final String JDriver="sun.jdbc.odbc.JdbcOdbcDriver";  //声明jdbc驱动程序类型
			final String conURL="jdbc:odbc:UserDB";  //jdbc对象的URL
			try{
				Class.forName(JDriver);//加载jdbc-odbc桥驱动程序
			}catch(final java.lang.ClassNotFoundException e1){	}
			try{
				final Connection con=DriverManager.getConnection(conURL);//设置数据库联接url
				final Statement s=con.createStatement();//建立statement对象
				final String query="INSERT INTO Users (username,password) VALUES ('"+t_username.getText()+"','"+t_password.getText()+"')";//设置sql语句插入相应元组
				s.executeUpdate(query);//执行sql语句
				s.close();	//释放数据库及所连jdbc资源
				con.close();	//关闭连接
			}catch(final SQLException e2){	}
			setVisible(false);
			new Login("用户登录:");
		}
		if(e.getSource()==b_exit)
			System.exit(0);  //退出
	}
}



class TextWindowExe  //定义程序入口类
{
	public static void main (String [] args)
	{
		new Login("用户登录:"); //实现窗体
	}
}

⌨️ 快捷键说明

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