在 Java 中,“Event 事件监听”通常出现在 GUI(如 AWT / Swing)、JavaFX,或者 自定义事件机制(如 Spring 事件) 中。下面按常见场景给你说明。
JButtonActionEventActionListenerimport 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);
}
}
button.addActionListener(e -> {
System.out.println("按钮被点击了");
});
| 事件类型 | 监听器 | 说明 |
|---|---|---|
| 点击 | ActionListener |
按钮、菜单 |
| 鼠标 | MouseListener |
点击、进入、退出 |
| 键盘 | KeyListener |
按键 |
| 窗口 | WindowListener |
关闭、最小化 |
| 文本变化 | DocumentListener |
输入框 |
button.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("鼠标点击");
}
});
button.setOnAction(event -> {
System.out.println("JavaFX 按钮点击");
});
public interface MyListener {
void onEvent(String msg);
}
public class EventSource {
private MyListener listener;
public void setListener(MyListener listener) {
this.listener = listener;
}
public void trigger() {
if (listener != null) {
listener.onEvent("事件发生");
}
}
}
EventSource source = new EventSource();
source.setListener(msg -> System.out.println(msg));
source.trigger();
public class MyEvent extends ApplicationEvent {
public MyEvent(Object source) {
super(source);
}
}
@Component
public class MyEventListener {
@EventListener
public void handle(MyEvent event) {
System.out.println("收到事件");
}
}
applicationEventPublisher.publishEvent(new MyEvent(this));
Java 事件监听 = 事件源 + 监听器接口 + 注册监听 + 事件触发
如果你是指 某个具体框架(Spring / Swing / JavaFX / Android),可以告诉我,我可以给你更针对性的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。