java完成登录页面+连接数据库

java完成登录页面+连接数据库

所用的包简单介绍:
部分资料来自网上,如有侵权联系删除。
在这里插入图片描述
ActionEvent:处理东、南、西、北四个按钮,以及文本框的actionevent事件。当事件发生,,监视器计算字符的长度,并在命令行窗体显示按钮的文本内容或文本框的文本内容。
监听器(Listener):监听器用于监听web应用中某些对象、信息的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。常用于统计在线人数和在线用户,系统加载时进行信息初始化,统计网站的访问量等等。

ActionListener:ActionListener用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的 actionPerformed 方法。

MouseListener:处理鼠标事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象类 MouseAdapter(仅重写所需的方法)。 然后使用组件的 addMouseListener 方法将从该类所创建的侦听器对象向该组件注册。当按下、释放或单击(按下并释放)鼠标时会生成鼠标事件。鼠标光标进入或离开组件时也会生成鼠标事件。发生鼠标事件时,将调用该侦听器对象中的相应方法,并将 MouseEvent 传递给该方法。

MouseAdapter:用于接收鼠标事件的抽象适配器类。 这个类中的方法是空的。 此类作为创建侦听器对象的方便而存在。
Connection的常用功能
boolean add(E e) 永远可以添加成功,可以有重复值
void clear() 清空集合
boolean contains(Object o) 判断集合中是否包含指定字符
boolean isEmpty() 集合是否为空
boolean remove(Object o) 删除集合指定元素
int size() 返回集合中元素个数
Object[] toArray() 将集合转换成Object类型数组
DriverManager
在这里插入图片描述
详细可以参考官网
https://docs.oracle.com/javase/8/docs/api/java/sql/DriverManager.html

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
 class DbUtil {
    
    
	static Connection conn=null;
	static Statement sm=null;
	 static ResultSet rs=null;
	 static String driver="com.mysql.jdbc.Driver";
	 static String url="jdbc:mysql://localhost:3306/libmanagement";
	 static String username="root";
	 static String password="root";
	static
	 {
    
    
		try {
    
    
			Class.forName("com.mysql.jdbc.Driver");
			conn=
				DriverManager.getConnection(url, username, password);
			sm=conn.createStatement();
		} catch (ClassNotFoundException e) {
    
    
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
    
    
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
			
	 }
	public static ResultSet getResult(String sql)
	{
    
    
		try {
    
    
			rs=sm.executeQuery(sql);
		} catch (SQLException e) {
    
    
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return rs;
	}
}
public class LoginDemo  extends DbUtil {
    
    
	public static void main(String[] args) {
    
    
		SwingUtilities.invokeLater(() -> createAndShowGUI());

	}
	public static boolean checkByUnameAndPwd(String uname,String pwd)
	{
    
    
		String sql="select * from user where uname='"+uname+"' and pwd='"+pwd+"' ";
		ResultSet rs=getResult(sql);
		boolean flag=false;
		try {
    
    
			while(rs.next())
			{
    
    
				flag=true;
			}
		} catch (SQLException e) {
    
    
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return flag;
	}
	public static  void createAndShowGUI() {
    
    
		JFrame f=new JFrame();
		f.setTitle("登录");
		f.setSize(210, 164);
		f.setLocationRelativeTo(null);
		f.setResizable(false);
		f.setVisible(true);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		FlowLayout layout = new FlowLayout();
		layout.setVgap(12);
		f.setLayout(layout);
		JLabel lblUser = new JLabel("用户名:");
		JLabel lblPass = new JLabel("密    码:");
		JTextField txtUser = new JTextField(10);
		JPasswordField pwdPass = new JPasswordField(10);
		JPanel panel=new JPanel();
		layout = new FlowLayout();
		layout.setHgap(30);
		panel.setLayout(layout);
		JButton btnLogin = new JButton("登录");
		JButton btnExit = new JButton("退出");

		f.add(lblUser);
		f.add(txtUser);
		f.add(lblPass);
		f.add(pwdPass);
		panel.add(btnLogin);
		panel.add(btnExit);
		f.add(panel);

		btnLogin.addActionListener(new ActionListener() {
    
    

			@Override
			
			public void actionPerformed(ActionEvent e) {
    
    
				if (checkByUnameAndPwd(txtUser.getText(),new String(pwdPass.getPassword()))) {
    
    
					JOptionPane.showMessageDialog(f, "欢迎登录");
				} else {
    
    
					JOptionPane.showMessageDialog(f, "用户名或密码错误!");
				}

			}
		});

		btnExit.addActionListener(new ActionListener() {
    
    

			@Override
			public void actionPerformed(ActionEvent e) {
    
    
				JOptionPane.showMessageDialog(f, "欢迎下次再来!");
				System.exit(0);

			}
		});

	}
}

结果图
请添加图片描述
我希望顺子的代码给您的是一种思路,而非懒惰的工具,通往强大的路上没有捷径。

感谢看完!

awt实现计算器

猜你喜欢

转载自blog.csdn.net/qq_46144237/article/details/112648510