个人小项目:用户管理系统v1.0

import javax.swing.*;
import java.awt.*;

public class UI {
    UIlistener uil =new UIlistener();
    public void showInUI() {
        JFrame jf = new JFrame();
        jf.setTitle("登录界面");
        jf.setSize(400, 350);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jf.setLayout(new FlowLayout());

        JLabel namejla = new JLabel("账号:");
        JLabel pwdjla = new JLabel("密码:");

        JTextField nameIn = new JTextField(30);
        JPasswordField pwdIn = new JPasswordField(30);

        JButton loginBtn = new JButton("登陆");
        JButton registerBtn = new JButton("注册");
        jf.add(namejla);
        jf.add(nameIn);
        jf.add(pwdjla);
        jf.add(pwdIn);
        jf.add(loginBtn);
        jf.add(registerBtn);

        jf.setVisible(true);//创建窗口

        loginBtn.addActionListener(uil);
        registerBtn.addActionListener(uil);//为按钮添加监听器

        uil.date.SetLoginTable(nameIn,pwdIn,this);
    }

代码运行效果:可以看到已经有一个极为简单的登录界面了。

类似的,我们继续创建注册页面和个人信息展示页面。  创建监听器,让按钮被点击时可以执行代码。

此处设置了“登陆”“注册”等操作。

public class UIlistener implements ActionListener {

    table date = new table();

    @Override
    public void actionPerformed(ActionEvent e) {
            String ac=e.getActionCommand();//添加监听器
            System.out.println("操作:"+ac);
            if(ac.equals("登陆")){
                String name = date.getIName();
                String pwd  = date.getINPwd();
                System.out.println("用户名"+name);
                if(name.isEmpty()){
                    JOptionPane.showMessageDialog(null,"请输入用户");}//判断用户栏是否为空
                else if(pwd.isEmpty()){
                    JOptionPane.showMessageDialog(null,"请输入密码");}//判断密码栏是否为空
                int loginCode = UserManage.userLogin(name,pwd);//对输入的格式进行判断
               switch (loginCode){
                   case 0:
                       JOptionPane.showMessageDialog(null,name+"用户未注册");
                       break;
                   case 1:
                       JOptionPane.showMessageDialog(null,name+"密码错误");
                       break;
                   case 2:
                       JOptionPane.showMessageDialog(null,name+"登陆成功");
                       date.showUser(name);
                       break;
                   case 3:
                       JOptionPane.showMessageDialog(null,name+"用户已在线");
                       break;
               }

            } else if (ac.equals("注册")) {
                date.showRe();

            }else if(ac.equals("确定注册")){
                String Name = date.getREName();
                String Pwd = date.getREPwd();
                String repwd = date.getRErepwd();
                String phone = date.getREphone();
                String email = date.getREemail();
                System.out.println("名字"+Name+"密码"+Pwd+repwd+phone+email);

                boolean registerCode = UserManage.userRegister(Name,Pwd,phone,email);
                if (registerCode) {
                    JOptionPane.showMessageDialog(null,Name+"用户注册成功");}
                else{
                    JOptionPane.showMessageDialog(null,Name+"用户已注册");

                }
            }else if(ac.equals("取消")){
                 
            }


    }
}

 创建一个表格,可以存储用户的信息,并且可以用get方法获取用户输入的内容。

此处只展示了对于登陆界面的表格设置,注册界面和个人主页界面与此类似。

public class table {
    JTextField nameInT;
    JPasswordField pwdInT;
    UI ui;

    public void SetLoginTable(JTextField nameInT, JPasswordField pwdInT, UI ui) {
        this.nameInT = nameInT;
        this.pwdInT = pwdInT;
        this.ui = ui;//创建表格,存放输入框的信息
    }
    public String getIName(){
        return nameInT.getText();
    }//获取名字
    public String getINPwd(){
        return pwdInT.getText();
    }//获取密码
    public void showRe(){
        ui.showRegisterUI();
    }//点击注册,跳出注册页面的方法


  

 定义User类,存储用户的信息。

并写了get方法,让系统获取到用户信息。

public User(String name, String pwd) {
        this.name = name;
        this.pwd = pwd;
    }

    public User(String name, String pwd, String phone, String email) {
        this.name = name;
        this.pwd = pwd;
        this.Phone = phone;
        this.Email = email;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public String getPhone() {
        return Phone;
    }

    public void setPhone(String phone) {
        Phone = phone;
    }

    public String getEmail() {
        return Email;
    }

    public void setEmail(String email) {
        Email = email;
    }

    public boolean isIslogin() {
        return islogin;
    }

    public void setIslogin(boolean islogin) {
        this.islogin = islogin;
    }

    public int login(String pwdIn) {
        if(pwdIn.equals(pwd)){
            if(islogin){
                System.out.println("已在线");
                return 3;
            }
            islogin=true;
            System.out.println("登陆成功");
            return 2;
        }
        return 1;
    }//此处为判断用户在线状态的方法,与监听器代码的SWICH相关联


    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", pwd='" + pwd + '\'' +
                ", Phone='" + Phone + '\'' +
                ", Email='" + Email + '\'' +
                ", islogin=" + islogin +
                '}';
    }
}

 创建用户管理类,对用户的信息进行管理储存。

此处为登陆界面对用户信息的管理,注册界面与此类似。

public class UserManage {
   static User[] userList = new User[20];
   static int userSize;

     public static int  userLogin(String name,String pwd){
         if(isequal(name)){
             System.out.println("用户未注册");
         }else {
             for (int i = 0; i <userSize; i++) {
                 User user =userList[i];
                 if(user.getName().equals(name)){
                 int loginCode = user.login(pwd);
                 return loginCode;
                 }

             }

         }//对用户的登录状态进行判断,返回用户的登陆状态
         if(name.isEmpty()){
             return 7;//随便返回一个值,当用户栏为空时跳出“用户栏为空”的信息,而不是用户未注册
         }else if(pwd.isEmpty()){
             return 7;//随便返回一个值,当密码栏为空时跳出“密码栏为空”的信息,而不是用户未注册
         }else{
         return 0;
         }
         } 
    public static boolean isequal(String name) {
        for (int i = 0; i < userSize; i++) {
            User user = userList[i];
            if (user.getName().equals(name)) {
                return false;
            }
        }
        return true;
    }//对用户是否在数组中进行判断,即是否已经注册,此处对此方法进行了封装

最终成果展示:

优化目标:

接下来可以对注册用户名,密码,手机号,邮箱进行判断,让其符合标准。

在个人主页可以对个人信息进行修改。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值