...当账户密码登录时点击登录按钮时当用户名和密码二者有一个为空时...

发布网友 发布时间:2024-10-24 11:22

我来回答

1个回答

热心网友 时间:2024-11-02 22:00

逻辑很简单, 点击登录是验证账户和密码是否为空,如果都不为空通过检测,如果有一个为空就提示; 效果图如下

登录效果

参考代码如下

import javax.swing.*;

import java.awt.*;

//代码基于java8

public class LoginFrame extends JFrame {

    private JTextField tfUserName;

    private JPasswordField pfPassword;

    JButton jbOK, jbRest;


    public LoginFrame() {

        initControls();

        initFrame();

        addListener();

    }


    //组件进行初始化

    private void initControls() {

        //对窗口的组件进行初始化

        JPanel p1 = new JPanel();

        JLabel lab1 = new JLabel("账 号:");

        tfUserName = new JTextField(10);

        p1.add(lab1);

        p1.add(tfUserName);

        JPanel p2 = new JPanel();

        JLabel lab2 = new JLabel("密 码:");

        pfPassword = new JPasswordField(10);

        p2.add(lab2);

        p2.add(pfPassword);

        JPanel p3 = new JPanel();

        jbOK = new JButton("登录");

        jbRest = new JButton("重置");

        p3.add(jbOK);

        p3.add(jbRest);

        //把组件添加到窗口

        add(p1);

        add(p2);

        add(p3);

    }


    //添加事件响应

    private void addListener() {

        //给登录按钮添加事件响应

        jbOK.addActionListener(e -> {

            String name = tfUserName.getText().trim();

            String pswd = new String(pfPassword.getPassword()).trim();

            if (name.isEmpty() || pswd.isEmpty()) {

                JOptionPane.showMessageDialog(this, "账号或密码不能为空");

            }else if(name.equals("admin")&&pswd.equals("123")){

                JOptionPane.showMessageDialog(this,"登陆成功");

            }else{

                JOptionPane.showMessageDialog(this,"账号或者密码错误");

            }

        });

        //给重置按钮添加事件响应

        jbRest.addActionListener(e -> {

            tfUserName.setText("");

            pfPassword.setText("");

        });

    }


    //对窗口属性进行设置

    private void initFrame() {

        setTitle("登录窗口");//标题

        setLayout(new GridLayout(3, 1));//布局3行1列

        setDefaultCloseOperation(EXIT_ON_CLOSE);//关闭按钮可用

        setSize(280, 180);//大小

        setLocationRelativeTo(null);//居中

    }


    public static void main(String[] args) {

        SwingUtilities.invokeLater(() -> {

            new LoginFrame().setVisible(true);//创建窗口,设置可见

        });

    }

}

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com