仿QQ登入界面增加反应

上次,咋们做了一个仿QQ登入界面,现在咋们的目标就是让这个界面上的组件有所反应。

这个交互功能需要监听器这个方法来实现。

监听器的实现三步骤

1.事件源:当前动作所发生的组件。

2.监听器:动作方法监听器(监听器有很多类型,今天使用的是动作监听器)

3.绑定事件处理类

//数据类型:1.基本类型(8种) 2.引用类(自定义类型):类(class),接口(interface),数组

蓝色部分为上节课内容,黑色为续写内容
public class Loginrun {
    public static void main(String[] args) {
        Loginrun lo = new Loginrun();
         lo.showUI();
    }
    public void showUI(){
        javax.swing.JFrame jf = new javax.swing.JFrame();
        jf.setSize(500, 450);
        jf.setTitle("登录界面");
        jf.setLocationRelativeTo(null);
        jf.setDefaultCloseOperation(3);
        java.awt.FlowLayout flow = new java.awt.FlowLayout();
        jf.setLayout(flow);
        javax.swing.ImageIcon image = new javax.swing.ImageIcon ("D:\\java\\图片素材库\\1.jpg");
        javax.swing.JLabel jla3 = new javax.swing.JLabel(image);
        jf.add(jla3);
        java.awt.Dimension dim3 = new java.awt.Dimension(500,150);
        jla3.setPreferredSize(dim3);
        jf.add(jla3);
        javax.swing.JLabel jla1 = new javax.swing.JLabel("账号:");
        jf.add(jla1);
        javax.swing.JTextField jtf1 = new javax.swing.JTextField();
        //Dimension
        java.awt.Dimension dim1 = new java.awt.Dimension(370,30);
        jtf1.setPreferredSize(dim1);
        jf.add(jtf1);
        javax.swing.JLabel jla2 = new javax.swing.JLabel("密码:");
        jf.add(jla2);
        javax.swing.JTextField jtf2 = new javax.swing.JTextField();
        //Dimension
        java.awt.Dimension dim2= new java.awt.Dimension(370,30);
        jtf2.setPreferredSize(dim2);
        jf.add(jtf2);
        javax.swing.JButton jbu1 = new javax.swing.JButton("登录");
        jf.add(jbu1);
        javax.swing.JButton jbu2 = new javax.swing.JButton("新用户注册");
        jf.add(jbu2);
        javax.swing.JButton jbu3 = new javax.swing.JButton("取消");
        jf.add(jbu3);
        jf.setVisible(true);

        //接口不能直接创建对象,需要重新定义类去继承接口,在子类中重写接口中的抽象方法。

       //给登录按钮添加动作监听器

      ButtonListener listener =  new ButtonListener();

      jbu1.addActionListener(listener);

      listener.jtxf1=jtf1;

      listener.jtxf2=jtf2;
    }
}

//导入库中的类

import java.awt.event.ActionListener;

//事件处理类

//继承接口格式:public class 子类 implements 接口,接口...{}

//继承接口一定要在子类中重写所有的抽象方法

public  class ButtonListener implements ActionListener{

//定义原始账号,密码  只能用字符串

public String user = "123"

public String code="123"

//咋们要设置一个文本框去保存传递过来的文本框对象

public javax.swing.JTextField jtxf1;

public javax.swing.JTextField jtxf2;

// 事件响应方法(设计响应功能)

public void actionPerformed(ActionEvent e){

//获取账号密码文本框

String userName = jtxf1.getText();

String userCode = jtxf2.getText();

//验证账号

if(user.equals(userName)&&code.equals(userCode)){

      showUI1();}

else{showUI2();}

}

// 这里加入两个弹窗 设置两个窗体。

public void showUI1(){

javax.swing.JFrame jf2 = new javax.swing.JFrame();
            jf2.setSize(500,400);
            jf2.setLocationRelativeTo(null);
            jf2.setDefaultCloseOperation(3);
            javax.swing.JButton jbu1 = new javax.swing.JButton ("登入成功");
            jf2.add(jbu1);
            jf2.setVisible(true);

}

public  void  showUI1{
            javax.swing.JFrame jf3 = new javax.swing.JFrame();
            jf3.setSize(500,400);
            jf3.setLocationRelativeTo(null);
            jf3.setDefaultCloseOperation(3);
            javax.swing.JButton jbu2 = new javax.swing.JButton ("登入失败");
            jf3.add(jbu2);
            jf3.setVisible(true);

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值