事件监听
发布日期:2021-05-10 00:19:16 浏览次数:22 分类:精选文章

本文共 2076 字,大约阅读时间需要 6 分钟。

学习Java事件监听机制,让我们一步步探索其实现方式和实际应用。

事件监听的基础实现

事件监听是Java中一个核心概念,用于响应用户操作或系统事件。通过创建适当的监听器(listener),我们可以指定当特定事件发生时的处理逻辑。比如在GUI应用中,按钮点击事件通常会派发为ActionEvent,我们可以通过实现ActionListener接口为这些事件指定响应。

代码示例

public class TextActionEvent {    public static void main(String[] args) {        Frame frame = new Frame();        Button button = new Button();        MyActionListener myActionListener = new MyActionListener();        button.addActionListener(myActionListener);        frame.add(button, BorderLayout.CENTER);        frame.pack();        windowClose(frame); // 退出窗口        frame.setVisible(true);    }        private static void windowClose(Frame frame) {        frame.addWindowListener(new WindowAdapter() {            @Override            public void windowClosing(WindowEvent e) {                System.exit(0);            }        });    }}class MyActionListener implements ActionListener {    @Override    public void actionPerformed(ActionEvent e) {        System.out.println("aaa");    }}

在上述代码中,TextActionEvent类创建了一个GUI窗口,并添加了一个按钮。按钮的点击事件通过MyActionListener监听器处理,当按钮被点击时会打印出“aaa”。windowClose方法确保了窗口关闭后程序退出。

多个按钮共同作用的事件处理

在某些情况下,多个UI元素可能需要触发相同的事件处理逻辑。Java允许一个ActionListener同时监听多个动作事件,实现这一点非常方便。

代码示例

public class TextActiontow {    public static void main(String[] args) {        Frame frame = new Frame("开始-停止");        Button button1 = new Button("start");        Button button2 = new Button("stop");        MyMoniter myMoniter = new MyMoniter();        button1.addActionListener(myMoniter);        button2.addActionListener(myMoniter);        frame.add(button1, BorderLayout.NORTH);        frame.add(button2, BorderLayout.SOUTH);        frame.pack();        frame.setVisible(true);    }}class MyMoniter implements ActionListener {    @Override    public void actionPerformed(ActionEvent e) {        System.out.println("按钮被点击了:" + e.getActionCommand());    }}

在这个例子中,MyMoniter类同时监听了两个按钮的点击事件。当任意一个按钮被点击时,都会触发同样的处理逻辑,并打印出事件信息。这种方法既简洁又高效,适用于多个UI元素需要共享相同事件处理逻辑的情况。

通过以上代码示例,可以看出Java事件监听机制实际上的灵活性和强大功能。它不仅支持单个事件处理器,同时也允许一个事件处理器处理多个UI事件,增加了代码的可维护性和可扩展性。在实际应用中,事件监听是构建响应性 GUI 的核心技术之一。

上一篇:简易计算器的优化
下一篇:输入框TextField监听

发表评论

最新留言

很好
[***.229.124.182]2025年04月25日 12时33分15秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

Elasticsearch7.3.1启动指定JDK11 2023-01-24
Elasticsearch下载安装 2023-01-24
Elasticsearch入门教程(Elasticsearch7,linux) 2023-01-24
ElasticSearch设置字段的keyword属性 2023-01-24
elasticsearch配置文件里的一些坑 [Failed to load settings from [elasticsearch.yml]] 2023-01-24
Elasticsearch面试题 2023-01-24
element ui 时间日期选择器 el-date-picker 报错 Prop being mutated “placement“ 2023-01-24
element 如何使用自定义icon图标 2023-01-24
element-plus修改主题颜色 2023-01-24
element-plus的el-date-picker日期范围选择控件,根据开始日期限定结束日期的可选范围为开始日期到开始日期+30天 2023-01-24
element-ui:el-input输入数字-整数和小数 2023-01-24
ElementUI-el-progress改变进度条颜色跟文字样式 2023-01-24
ELK应用日志收集实战 2023-01-24
elTable火狐浏览器换行 2023-01-24
15个Python数据处理技巧(非常详细)零基础入门到精通,收藏这一篇就够了 2023-01-24
2023年深信服、奇安信、360等大厂网络安全校招面试真题合集(附答案),让你面试轻松无压力! 2023-01-24
2024年全国程序员平均薪资排名:同样是程序员,为什么差这么多?零基础到精通,收藏这篇就够了 2023-01-24
0基础成功转行网络安全工程师,年薪30W+,经验总结都在这(建议收藏) 2023-01-24
100个电脑常用组合键大全(非常详细)零基础入门到精通,收藏这篇就够了 2023-01-24
10个程序员可以接私活的平台 2023-01-24