温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Event事件如何监听

发布时间:2026-10-06 12:43:53 来源:亿速云 阅读:95 作者:小樊 栏目:编程语言

在 Java 中,“Event 事件监听”通常出现在 GUI(如 AWT / Swing)、JavaFX,或者 自定义事件机制(如 Spring 事件) 中。下面按常见场景给你说明。


一、Swing / AWT 中的事件监听(最常见)

1️⃣ 事件三要素

  • 事件源(Event Source):比如按钮 JButton
  • 事件对象(Event):比如 ActionEvent
  • 监听器(Listener):比如 ActionListener

2️⃣ 示例:按钮点击事件

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

public class Demo {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Event Demo");
        JButton button = new JButton("点我");

        // 注册监听器
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("按钮被点击了");
            }
        });

        frame.add(button);
        frame.setSize(200, 100);
        frame.setVisible(true);
    }
}

3️⃣ Lambda 简化(Java 8+)

button.addActionListener(e -> {
    System.out.println("按钮被点击了");
});

二、常见事件监听器类型

事件类型 监听器 说明
点击 ActionListener 按钮、菜单
鼠标 MouseListener 点击、进入、退出
键盘 KeyListener 按键
窗口 WindowListener 关闭、最小化
文本变化 DocumentListener 输入框

鼠标事件示例

button.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println("鼠标点击");
    }
});

三、JavaFX 中的事件监听

button.setOnAction(event -> {
    System.out.println("JavaFX 按钮点击");
});

四、自定义事件监听(普通 Java)

1️⃣ 定义监听器接口

public interface MyListener {
    void onEvent(String msg);
}

2️⃣ 事件源

public class EventSource {
    private MyListener listener;

    public void setListener(MyListener listener) {
        this.listener = listener;
    }

    public void trigger() {
        if (listener != null) {
            listener.onEvent("事件发生");
        }
    }
}

3️⃣ 使用

EventSource source = new EventSource();
source.setListener(msg -> System.out.println(msg));
source.trigger();

五、Spring 中的事件监听(进阶)

1️⃣ 定义事件

public class MyEvent extends ApplicationEvent {
    public MyEvent(Object source) {
        super(source);
    }
}

2️⃣ 监听器

@Component
public class MyEventListener {
    @EventListener
    public void handle(MyEvent event) {
        System.out.println("收到事件");
    }
}

3️⃣ 发布事件

applicationEventPublisher.publishEvent(new MyEvent(this));

六、总结一句话

Java 事件监听 = 事件源 + 监听器接口 + 注册监听 + 事件触发

如果你是指 某个具体框架(Spring / Swing / JavaFX / Android),可以告诉我,我可以给你更针对性的示例。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手