栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java实现GUI界面与JDBC功能实现--用户登陆

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java实现GUI界面与JDBC功能实现--用户登陆

首先我们得准备工具,在这里就不多说了可以看上一章的注意事项。

同样的,我们要新建四个项目testuserdao、userdao、loginframe、connectionmanager。

首先我们可以看一下我们t_use表里面的用户信息。在本章我们以“小石,密码:456,电话号码”为例。

 userdao代码:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


public class UserDao {
    public boolean login(String username,String password,String telephone){
        //1获得数据库的连接(加载数据库驱动,通过drivermanager获取数据库连接)
        Connection conn= ConnectionManager.getConnection();
        try {
            //2通过connection对象获取statement对象
            String strSQL="select * from t_user where username=? and password=? and telephone=?";
            PreparedStatement pstmt =conn.prepareStatement(strSQL);
            pstmt.setString(1,username);
            pstmt.setString(2,password);
            pstmt.setString(3,telephone);

            //3使用statement执行SQL语句
            ResultSet rs=pstmt.executeQuery();
            //4对增删改查结果的处理
            if(rs.next()){
                return true;
            }else{
                return false;
            }
        }catch (SQLException e){
            System.out.println("数据库的234步产生的异常");
            e.printStackTrace();
        }finally {
            //5关闭数据库
            ConnectionManager.closeConnection(conn);
        }
        return false;
    }

}

testuserdao代码:

public class TestUserDao {
    public static void main(String[] args) {
         String username="芝兰";
         String password="123";
         String telephone="16556546545";
         UserDao userDao=new UserDao();
         boolean a=userDao.login(username,password,telephone);
         if(a){
             System.out.println("用户名和密码正确,登陆成功");
         }else{
             System.out.println("用户名和密码不正确,登陆失败");
         }
    }
}

loginframe代码:

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class LoginFrame extends JFrame {

    public LoginFrame(String title) throws HeadlessException {
        super(title); // 调用父类构造方法传入标题参数
        initGUI(); // 调用初始化图形用户界面方法
    }
    
    private void initGUI() {
        // 创建三个面板
        JPanel panel1 = new JPanel();
        JPanel panel2 = new JPanel();
        JPanel panel3 = new JPanel();
        JPanel panel4 = new JPanel();
        // 获取内容面板
        JPanel panel = (JPanel) getContentPane();
        // 设置面板panel的布局为表格布局
        panel.setLayout(new GridLayout(4, 1));
        // 将三个小面板添加到面板panel里
        panel.add(panel1);
        panel.add(panel2);
        panel.add(panel3);
        panel.add(panel4);

        
        // 创建用户名标签
        JLabel lblUsername = new JLabel("用  户  名:");
        // 创建用户名文本框
        JTextField txtUsername = new JTextField(15);
        // 将标签与文本框添加到第一个面板
        panel1.add(lblUsername);
        panel1.add(txtUsername);

        
        // 创建密码标签
        JLabel lblPassword = new JLabel("密       码:");
        // 创建密码文本框
        JPasswordField txtPassword = new JPasswordField(15);
        // 将标签与文本框添加到第二个面板
        panel2.add(lblPassword);
        panel2.add(txtPassword);

        
        // 创建密码标签
        JLabel lblTelephone = new JLabel("电话号码");

        // 创建密码文本框
        JTextField txtTelephone = new JTextField(15);
        // 将标签与文本框添加到第二个面板
        panel3.add(lblTelephone);
        panel3.add(txtTelephone);

        
        // 创建登录按钮
        JButton btnLogin = new JButton("登陆");
        // 创建取消按钮
        JButton btnCancel = new JButton("确定");
        // 将两个按钮添加到第三个面板
        panel4.add(btnLogin);
        panel4.add(btnCancel);

        // 设置窗口边界
        setBounds(300, 300, 400, 300);
        // 设置屏幕居中
        setLocationRelativeTo(null);
        // 设置窗口紧凑
        pack();
        // 设置窗口可见
        setVisible(true);
        // 设置默认关闭方式
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 给【取消】按钮注册动作监听器

        btnCancel.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 退出应用程序
                System.exit(0);
            }
        });

        // 给【登录】按钮注册动作监听器
        btnLogin.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 获取用户输入的用户名与密码
                String username = txtUsername.getText().toString();
                String password = new String(txtPassword.getPassword());
                String telephone = txtTelephone.getText().toString();
                // 创建用户数据访问对象
                UserDao userDao=new UserDao();
                boolean a=userDao.login(username,password,telephone);
                if(a){
                    System.out.println("用户名或密码正确");
                    JOptionPane.showMessageDialog(LoginFrame.this,
                            "登陆成功!", "提示信息", JOptionPane.INFORMATION_MESSAGE);
                    LoginFrame.this.dispose(); // 关闭登录窗口
                }else{
                    System.out.println("用户名或密码不正确");
                    JOptionPane.showMessageDialog(LoginFrame.this,
                            "登陆失败", "提示信息", JOptionPane.ERROR_MESSAGE);
                    LoginFrame.this.dispose(); // 关闭登录窗口
                }






            }
        });
    }

    
    public static void main(String[] args) {
        // 实例化登录窗口对象
        LoginFrame loginFrame = new LoginFrame("登陆窗口");
    }
    }

最后是connectionmanager代码,可以看上一章修改密码或者用户注册里面的代码。在这里我就不放代码了哦~

注意:我们要实现运行结果是在loginframe里面的哦。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993378.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号