事件监听

简介: 事件监听

事件监听:当某个事件发生的时候,运行程序在干什么。如:点击按钮,输出hello;通过上下左右键控制方向等…

如:按下按钮,输出框输出hello

package 狂神说__Listener;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class TestActionEvent {
    public static void main(String[] args) {
        Frame frame = new Frame();
        Button button = new Button();
        MyActionListener myActeionListener=new MyActionListener();
        button.addActionListener(myActeionListener);//需要一个接口
        frame.add(button,BorderLayout.CENTER);
        frame.setBackground(Color.blue);
        frame.setBounds(200,200,600,400);
        frame.setVisible(true);
        windowsClose(frame);
    }
    //关闭窗口
    private static void windowsClose(Frame frame){
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }
}
class MyActionListener implements ActionListener{

    @Override
    public void actionPerformed(ActionEvent actionEvent) {
        System.out.println("hello word!");
    }
}

如:输入框的文字被监听,在输入框中输入文字,按下Enter键就会在输入区内输出文本框内容

package 狂神说__Listener;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class TestAction {
    public static void main(String[] args) {
        Myframe myframe = new Myframe();
        windowsClose(myframe);
    }
    private static void windowsClose(Myframe frame){
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
}
static class Myframe extends Frame{
    public Myframe(){
        TextField textField = new TextField();
        this.add(textField);
        //监听文本框输入的汉字
        MyActionListener1 myActionListener1 = new MyActionListener1();
        //按下enter,就会触发输入框事件
        textField.addActionListener(myActionListener1);

        setVisible(true);
        setBounds(300,300,200,200);
    }

    }
}

class MyActionListener1 implements ActionListener{

    @Override
    public void actionPerformed(ActionEvent actionEvent) {
        //获得资源,返回对象
        TextField field=(TextField)actionEvent.getSource();
        System.out.println(field.getText());
        field.setText("");//Enter键触发后,文本框的内容会被清空
    }
}

相关文章
|
消息中间件 人工智能 Cloud Native
社区胜于代码,我们在阿帕奇软件基金会亚洲大会聊了聊开源中间件的未来
阿帕奇基金会亚洲大会顺利召开,阿里云消息技术负责人林清山在主论坛做了《阿里云中间件持续进化:从分布式应用架构向云原生 AI 原生应用架构全面升级》的演讲,从云厂商的视角分享了贡献开源、推动社区发展的过程,希望通过 AI 开发框架+AI 观测能力+AI 网关 + 事件驱动,一站式助力大模型应用落地。
416 96
社区胜于代码,我们在阿帕奇软件基金会亚洲大会聊了聊开源中间件的未来
|
供应链 监控 搜索推荐
实时数据驱动:API商品数据接口引领业务飞跃
在数字化浪潮中,企业必须快速应对市场的瞬息万变。实现这一目标的核心在于有效管理和应用数据资产。本文将深入探讨API商品数据接口如何激活这些资产,并确保您的企业在激烈的市场竞争中抢得先机。
|
JavaScript
HTML+CSS+JS实现计算机功能(二)
HTML+CSS+JS实现计算机功能
SVN回滚代码时,提示冲突怎么办
SVN回滚代码时,提示冲突怎么办
209 0
SVN回滚代码时,提示冲突怎么办
|
SQL 测试技术
一张几亿的分区表,能改名么?
一个微信群中有位朋友问“一张几亿的分区表,能改名么?”。我想他要表达的,不是语法上是否可以改名,而是改名是否有什么影响? 是否有影响,需要看看背后做了什么。
1297 0
|
监控 NoSQL Java
11【在线日志分析】之redis-3.2.5 install(单节点)
1.安装jdk1.8[root@sht-sgmhadoopdn-04 ~]# cd /usr/java/[root@sht-sgmhadoopdn-04 java]# wget --no-check-certificate --no-cookies --head...
1039 0
|
1天前
|
人工智能 运维 安全
|
3天前
|
SpringCloudAlibaba 负载均衡 Dubbo
微服务架构下Feign和Dubbo的性能大比拼,到底鹿死谁手?
本文对比分析了SpringCloudAlibaba框架下Feign与Dubbo的服务调用性能及差异。Feign基于HTTP协议,使用简单,适合轻量级微服务架构;Dubbo采用RPC通信,性能更优,支持丰富的服务治理功能。通过实际测试,Dubbo在调用性能、负载均衡和服务发现方面表现更出色。两者各有适用场景,可根据项目需求灵活选择。
363 123
微服务架构下Feign和Dubbo的性能大比拼,到底鹿死谁手?

热门文章

最新文章