动作监听器 之 真假爱坤

一、

创建一个新的类 BtnAction 实现 ActionListener

import java.awt.event.ActionEvent;
import java.awt.svent.ActionListener; 

public class BtnAction implements ActionListener { 
}

二、

将ActionListener中的方法复制到类中 改分号为大括号并在括号中写上一句输出语句

    // 点击按钮才会执行的方法
public void actionPerformed(ActionEvent e) {  
    System.out.println("你干嘛~~嘿嘿哟");
    } 

 

注:此处我用的是IDEA,只需按住CTRL键再按鼠标左键即可查看源代码,在源代码中可直接复制

  

三、

在LoginUI类的showUI方法中的可视化代码后面 ,创建一个BtnAction对象

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

    public  class LoginUI {
        public void showUI() {
            JFrame jf = new JFrame();
            jf.setTitle("开始界面");
            jf.setSize(400, 520);
            jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            jf.setLocation(650, 250);
            FlowLayout layout = new FlowLayout();
            jf.setLayout(layout);

                //创建一个登录界面需要的组件对象  
            ImageIcon icon =new ImageIcon("C:\\Users\\ASUS\\OneDrive\\图片\\OIP-C(1)(1)(1)(1).png");
            JLabel iconJla=new JLabel(icon);

            JButton nameJla = new JButton("鸽鸽的名字");
            JButton timeJla= new JButton("练习时长(年)");
            JTextField nameJtf=new JTextField(30);
            JPasswordField timeJpf=new JPasswordField(29);
            JButton loginBtn = new JButton("验证");

                //将组件添加到窗体中 jf.add();
            jf.add(iconJla);     
            jf.add(nameJla);
            jf.add(nameJtf);
            jf.add(timeJla);
            jf.add(timeJpf);
            jf.add(loginBtn);

            jf.setVisible(true);         //可视化

            BtnAction btnaction = new BtnAction();  //创建一个BtnAction 对象
            loginBtn.addActionListener(btnaction);  //使用按钮对象调用addActionListener方法 
           
                // 将取的别名 与 对应的原名绑定起来
            btnaction.nameJtfA = nameJtf;
            btnaction.timeJpfA = timeJpf;

        }

        public static void main(String[] args) {
            LoginUI loginUI = new LoginUI();
            loginUI.showUI();
        }
    }

 注:这一段代码我还是不过多阐述,详情可看上一期

》》》CSDN

《《《

四、

使用按钮对象 在BtnAction中调用addActionListener方法 添加这个对象

 

JTextField  nameJtfA;      //相当于输入框的别名
JPasswordField timeJpfA;

 注:加于” BtnAction 实现 ActionListener ”之上

五、

在“二”的输出语句后添加行为(和输出语句在同一大括号中)

 

        String name=nameJtfA.getText();  // 获取名字输入框中的文本内容
        String time=timeJpfA.getText();  // 获取时间输入框中的文本内容

        System.out.println("鸽鸽的名字"+name);    //输出文本
        System.out.println("练习时长"+time+"年");

            // 根据获取的账号密码做判断 判断字符串时需要使用 equals方法 
        if (name.equals("蔡徐坤")&& time.equals("2.5")){ 
            System.out.println("很好,你是真爱粉");

                 // 弹出提示框 
            JOptionPane.showMessageDialog(null,"验证通过");
        }else{
            System.out.println("小黑子你干嘛");
            JOptionPane.showMessageDialog(null,"验证失败");

                //后面是弹出的窗体,添加与否无关紧要
            JFrame jf1=new JFrame();
            jf1.setSize(300,350);
            jf1.setLocation(650,300);
            FlowLayout flow1 =new FlowLayout();
            jf1.setLayout(flow1);

            ImageIcon icon1 =new ImageIcon("C:\\Users\\ASUS\\OneDrive\\图片\\0921b79ac122788dee48164209a0471(1)(1).png");
            JLabel iconJla=new JLabel(icon1);
            jf1.add(iconJla);

            jf1.setVisible(true);

        }

整体效果:

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class BtnAction implements ActionListener {
    JTextField  nameJtfA;
    JPasswordField timeJpfA;


    public void actionPerformed(ActionEvent e){
        System.out.println("你干嘛~~嘿嘿哟");

        String name=nameJtfA.getText();
        String time=timeJpfA.getText();
        System.out.println("鸽鸽的名字"+name);
        System.out.println("练习时长"+time+"年");
        if (name.equals("蔡徐坤")&& time.equals("2.5")){
            System.out.println("很好,你是真爱粉");
            JOptionPane.showMessageDialog(null,"验证通过");
        }else{
            System.out.println("小黑子你干嘛");
            JOptionPane.showMessageDialog(null,"验证失败");
            JFrame jf1=new JFrame();
            jf1.setSize(300,350);
            jf1.setLocation(650,300);
            FlowLayout flow1 =new FlowLayout();
            jf1.setLayout(flow1);

            ImageIcon icon1 =new ImageIcon("C:\\Users\\ASUS\\OneDrive\\图片\\0921b79ac122788dee48164209a0471(1)(1).png");
            JLabel iconJla=new JLabel(icon1);
            jf1.add(iconJla);

            jf1.setVisible(true);

        }
    }

}

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


    public  class LoginUI {
        public void showUI() {
            JFrame jf = new JFrame();
            jf.setTitle("开始界面");
            jf.setSize(400, 520);
            jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            jf.setLocation(650, 250);
            FlowLayout layout = new FlowLayout();
            jf.setLayout(layout);

            ImageIcon icon =new ImageIcon("C:\\Users\\ASUS\\OneDrive\\图片\\OIP-C(1)(1)(1)(1).png");

            JLabel iconJla=new JLabel(icon);
            JButton nameJla = new JButton("鸽鸽的名字");
            JButton timeJla= new JButton("练习时长(年)");
            JTextField nameJtf=new JTextField(30);
            JPasswordField timeJpf=new JPasswordField(29);
            JButton loginBtn = new JButton("验证");

            jf.add(iconJla);
            jf.add(nameJla);
            jf.add(nameJtf);
            jf.add(timeJla);
            jf.add(timeJpf);
            jf.add(loginBtn);

            jf.setVisible(true);

            BtnAction btnaction = new BtnAction();
            loginBtn.addActionListener(btnaction);


            btnaction.nameJtfA = nameJtf;
            btnaction.timeJpfA = timeJpf;

        }


        public static void main(String[] args) {
            LoginUI loginUI = new LoginUI();
            loginUI.showUI();
        }
    }

运行效果:

 

 

 

 

 

 

 温馨提示:

           1:注意括号  ()  分号  ;  和引号  ""  需用英文格式

           2:   如有报错,记得检查括号和分号是否多与少    

           3:不妨举一反三多加练习 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值