基本步骤

1.创建一个窗体

2.给按钮加上监听

3.获取界面输入框中的值给监听

4.存储用户信息

5.实现登录注册逻辑

1.创建一个窗体

public  void LE(){
        JFrame jf=new JFrame();
        jf.setTitle("用户登录界面");
        jf.setSize(700,500);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jf.setLayout(new FlowLayout());
        JLabel name=new JLabel("账号");
        JLabel pw=new JLabel("密码");
        Dimension dim=new Dimension(300,50);
        JTextField namein=new JTextField();
        namein.setPreferredSize(dim);
        JPasswordField pwin=new JPasswordField();
        pwin.setPreferredSize(dim);
        JButton btn1=new JButton("登录");
        JButton btn2=new JButton("注册");
        jf.add(name);
        jf.add(namein);
        jf.add(pw);
        jf.add(pwin);
        jf.add(btn1);
        jf.add(btn2);
        jf.setVisible(true);
    }

注意

1.在加上多个按钮,输入框,标签时要先设置布局

2.在添加密码的输入框时注意不是普通的输入框

3.设置输入框大小的方法

Dimension dim=new Dimension(300,50);
        JTextField namein=new JTextField();
        namein.setPreferredSize(dim);

2.给按钮加上监听

1.方法重写

public class Btnlistener implements ActionListener {
     public void actionPerformed(ActionEvent e) {}

2.界面上添加监听

Btnlistener listener=new Btnlistener();
        btn1.addActionListener(listener);
        btn2.addActionListener(listener);

3.添加一个程序入口

public static void main(String[]args){
        ULE login=new ULE();
        login.LE();
    }

3.传值

1.在监听中定义属性

TextField Fname;
    JPasswordField Fpw;

注意

要获取什么样的类型的数据就定义什么类型

2.将界面上的输入框内容传给监听

listener.Fname=namein;
        listener.Fpw=pwin;

3.获取输入框内容

String name=namein.getText();
        String pw=pwin.getText();

4.存储用户信息

1.想要存储用户的信息,就要先定义一个User类

public class User {
    String name;
    String pw;

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

2.为了存储User对象,我们使用Arraylist来储存

它常用的四个特性方法为

get

add

remove

size()

ArrayList<User> userlist =new ArrayList();

5.登录注册逻辑

                                 -找到有账号-比较密码-输出成功语句   

登录-遍历用户对象

                               -未找到账号-输出提示注册语句

                              -找到有账号-输出提示登录语句

注册-遍历用户对象

                            -未找到账号-添加该用户并输出注册成功语句

0.获取按钮上的内容

String btn=e.getActionCommand();
        System.out.println("你点击了"+btn);

1.遍历用户

if(btn.equals("登录")) {
            //登录时需要遍历账号是否已经存在
            for (int i = 0; i < userlist.size(); i++) {
                //遍历取出用户对象
                User getuser = userlist.get(i);

2.比较密码

if (getuser.name.equals(name)) {
                    //比较密码
                    if(getuser.pw.equals(pw)){
                        JOptionPane.showMessageDialog(null,"登录成功!");
                        return;
                    }}}

return

表示结束方法不再循环

3.登录时未遍历到用户

JOptionPane.showMessageDialog(null,"请先注册");}

注册时遍历对象及比较输入框中内容几乎一致

else if(btn.equals("注册")){
                    //注册时需要遍历账号是否已经存在
                    for (int t = 0; t< userlist.size(); t++) {
                        //遍历取出用户对象
                        User getuser= userlist.get(t);

                        if (getuser.name.equals(name)) {
                            //弹出一个弹窗
                            JOptionPane.showMessageDialog(null, "用户已经存在,请直接登录!");
                            //之后直接结束方法,后边不会再循环
                        return;}}

4.注册时未遍历到用户

//将数据打包为一个对象存入list
                User user = new User(name, pw);
                userlist.add(user);
                JOptionPane.showMessageDialog(null, "恭喜!创建了一个新的用户!");

            }
        }}