java事件模型 实现登录窗口测试

这篇博客介绍了如何使用Java Swing库创建一个登录窗口,并实现了MVC(Model-View-Controller)架构。通过事件模型,对"登录"和"取消"按钮进行了监听,当点击"登录"时,检查输入的用户名和密码,如果匹配预设的账号和密码,显示成功信息,否则提示错误。点击"取消"则清空输入字段。代码展示了如何在Java中处理用户交互事件并验证登录细节。
摘要由CSDN通过智能技术生成

java事件模型 实现登录窗口测试

事件模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码实测登录窗口

package test;
import javax.swing.JFrame;
import javax.swing.*;
import javax.swing.border.Border;
import java.awt.*;
import java.awt.event.*;

public class actionevent {
    public static void main(String[] args)
    {
        action frame=new action();
    }
}
class action extends JFrame implements ActionListener
{
    JButton b1=new JButton("登录");
    JButton b2=new JButton("取消");
    JTextField t1=new JTextField(15);
    JTextField t2=new JTextField(15);
    JLabel l1=new JLabel("用户账号");
    JLabel l2=new JLabel("登录密码");
    JPanel p1=new JPanel();
    JPanel p2=new JPanel();
    JPanel p3=new JPanel();
    JPanel p4=new JPanel();
    action()
    {
        this.setSize(300,200);
        Container container=this.getContentPane();
        FlowLayout fleft=new FlowLayout(FlowLayout.CENTER,10,10);
        FlowLayout fright=new FlowLayout(FlowLayout.RIGHT,10,10);
        BorderLayout border=new BorderLayout(10,10);
        GridLayout g=new GridLayout(2,1);
        container.setLayout(border);
        p1.setLayout(fleft);
        p2.setLayout(fleft);
        p3.setLayout(fright);
        p4.setLayout(g);
        p1.add(l1);
        p1.add(t1);
        p2.add(l2);
        p2.add(t2);
        p3.add(b1);
        p3.add(b2);
        p4.add(p1);
        p4.add(p2);
        container.add(p4, BorderLayout.CENTER);
        container.add(p3, BorderLayout.SOUTH);
        b1.addActionListener((ActionListener) this);
        b2.addActionListener((ActionListener) this);
        this.setTitle("面板应用");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);

    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource()==b1)
        {
            if(t1.getText().equals("admin"))
            {
                if(t2.getText().equals("111"))
                {
                    JOptionPane.showMessageDialog(this,"恭喜你登陆成功","系统消息",JOptionPane.INFORMATION_MESSAGE);
                }
                else {
                    JOptionPane.showMessageDialog(this,"密码错误","系统消息",JOptionPane.INFORMATION_MESSAGE);
                    t2.setText("");
                }
            }
            else
            {
                JOptionPane.showMessageDialog(this,"用户名错误,重新登陆","系统消息",JOptionPane.INFORMATION_MESSAGE);
                t2.setText("");
                t1.setText("");
            }
        }
        else if(e.getSource()==b2)
        {
            t2.setText("");
            t1.setText("");
        }

    }
}


在这里插入图片描述

在这里插入图片描述

mvc结构

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值