Java-用户管理系统1.0

Java用户管理系统登录功能实现

1.0版本功能实现:
登录与注册界面;
模拟数据生成;

1.浅谈对象-创建User类

在用户管理系统中离不开用户,也就是我们的对象,对象具有自己的特点以及行为,在编程语言中我们称之为属性和方法,更为具体的可见本作者之前的文章《Java类与对象》。

(1)确定对象的属性、方法

用户属性:账号、密码、积分、在线状态

(2)使用构造方法

1):没有返回值 void这种结构
2):以类名为方法名
3):任何类都有一个隐式的空参数构造方法
4):一旦显式的写了构造方法,不管是否带参数都会覆盖隐式的
5) :构造方法可以设定参数 ,参数可以将值赋给属性,实现创建
对象时属性的数据初始化
6):一个类中可以创建多个构造方法,必须参数不一致
7):构造方法在创建对象时执行,每个对象创建时都会执行一次构
造方法
8):创建对象可以选择合适的构造方法创建对象
注意:这里需要代码块,构造代码块的作用是用来运行一些创建对象时就需要执行的代码,初始化等等;

(3)判断密码是否正确

public class User {
    //属性
    String username;
    String password;
    int score;
    boolean islogin;
    public User(String name, String word) {
        this.username = name;
        this.password = word;
        System.out.println("带参观构造方法执行");
    }
     public User() {
        System.out.println("无参构造方法执行");
    }
    {
        System.out.println("代码块1");
    }

    {
        System.out.println("代码块2");
    }

    //方法
    public void showUesr() {
        System.out.println("账号:" + username + "  密码:" + password + "  积分:" + score + "  在线状态:" + islogin);
    }
     public boolean login(String pass) {
        if (pass.equals(password)) {
            score += 100;
            islogin = true;
            System.out.println("登录成功!");
            return true;
        } else {
            System.out.println("密码错误!");
            return false;
        }
    }
     //主函数
    public static void main(String[] args) {
        // 创建一个用户对象 ,使用的是第一个带参数的构造方法
        User user1 = new User("damin","damin123");
        user1.login("admin123");
        user1.showUesr();
        // 创建一个用户对象 ,使用的是第二个不带参数的构造方法
        User user2 = new User();
        user2.username = "user1";
        user2.password = "user123";
        user2.login("user123");
        user2.showUesr();
    }
}
    

2.登录界面-创建UserUI类

(1)创建一个界面需要窗体,而窗体上需要按钮、输入框、文字、流式布局等…

注意:以上这些元素应该加在可见之前,并且需要导入头文件

 public void loginUI(){
        JFrame jf=new JFrame();
        //基本框架
        jf.setLocationRelativeTo(null);//位置居中
        jf.setSize(500,700);
        jf.setTitle("登录界面");
        jf.setDefaultCloseOperation(3);//退出进程
        //流式布局
        FlowLayout flow=new FlowLayout();
        jf.setLayout(flow);
        //添加账号
        JLabel nameJL=new JLabel("账号");
        jf.add(nameJL);
        //添加账号输入框
        JTextField nameJTF1=new JTextField(45);
        jf.add(nameJTF1);
        //添加密码
        JLabel passJL=new JLabel("密码");
        jf.add(passJL);
        //添加密码输入框
        JTextField passJTF1=new JTextField(45);
        jf.add(passJTF1);
        //添加按钮
        JButton login=new JButton("登录");
        jf.add(login);
        JButton register=new JButton("注册");
        jf.add(register);
        //设置以上可见
        jf.setVisible(true);
        }

(2)创建监听器,添加监听器对象

要使登录、注册等按钮能起作用,需用用监听器事件读取并传导。

        //创建监听对象
        UserAction action=new UserAction();
        //给按钮加载监听事件
        login.addActionListener(action);
        register.addActionListener(action);
        //使用监听对象调用原本对象初始化
        action.nameJTF2=nameJTF1;
        action.passJTF2=passJTF1;

(3)主函数

调用界面的方法:

public class UserUI {
    public static void main(String[]args){
        UserUI ui=new UserUI();
        ui.loginUI();
    }

3.实现接口-创建并完善用户监听事件

注意:使用接口需要重写接口中的所有方法。

(1)创建输入框变量、储存多个对象的数组,并且生成用户模拟数据

代码块在此时起了作用

public class UserAction implements ActionListener {
    //创建输入框变量(但是不初始化)
    JTextField nameJTF2;
    JTextField passJTF2;
    //创建可以储存多个用户对象的数组
    User[] userlist = new User[10];
    int usercount = 0;

    //往数组中插入模拟数据
    {
        //代码块 创建对象时第一时间执行
        for (int i = 0; i < 10; i++) {
            User u = new User("admin" + i, "666" + i);
            userlist[i] = u;
            usercount++;
        }
        System.out.println("用户数据生成!");
    }
    }

(2)点击按钮并完成相关功能

 public void actionPerformed(ActionEvent e) {
     String order = e.getActionCommand();
     //获取输入框中的文本
     String name = nameJTF2.getText();
     String pass = passJTF2.getText();
     if (order.equals("登录")) {
     //输入名字查询是否注册
     for (int i = 0; i < usercount; i++) {
     User u = userlist[i];
     if (u.username.equals(name)) {
     //判断密码
     boolean islogin = u.login(pass);
     if (islogin) {
       //跳转主页
       JFrame jf = new JFrame();
       jf.setSize(500, 700);
       jf.setVisible(true);
       break;
                                }
                            }
                        }
                    } else if (order.equals("注册")) {
                        int count = 0;
                        for (int i = 0; i < usercount; i++) {
                            User u = userlist[i];
                            if (u.username.equals(name)) {
                                System.out.println("用户已注册!");
                                count++;
                            }
                              }
            if (count == 0) {
// 将输入框的文本作为参数创建一个对象
                User user = new User(name, pass);
                userlist[usercount] = user;
                usercount++;
                System.out.println("注册成功");
                System.out.println("现有的用户个数:" + usercount);
            }
        }
    }

以上就是今日本人的分享啦,进阶版本敬请期待下篇博客~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值