Java swing(awt):事件监听机制的实现原理+简单示例

本文介绍了Java Swing中的事件监听机制,通过两个示例详细解释了如何实现事件监听。步骤包括创建事件源对象、定义事件类型、实现监听器接口以及将监听器注册到事件源上。示例代码展示了当按钮被点击时,如何触发相应的事件处理方法。
摘要由CSDN通过智能技术生成
(1)实现原理

事件监听机制的实现:
参考图:事件模型_ActionEvent
  为了节省资源,系统无法对某个事件进行实时的监听。故实现的机制是当发生某个事件后,处理代码将被自动运行,类似钩子一般。(回调函数)事件有许多,这边以按钮被按下为例。由于处理的方法函数是我们人为进行编写的,故Button是不知道所要调用的函数名是什么。对此采用的解决方法为:
Button源代码调中用接口方法,而我们的监听处理函数则必须要实现该接口(ActionListener)
这样利用多态,使得Button虽调用的为该接口的方法,但运行的则是我们new出来的对象方法。类似于Button提供了这么一个钩子,但是钩子上面是什么东西他自己并不清楚,我们只需要人为地往上面挂上我们需要的东西即可。

事件监听机制实现过程(如下图): 当事件源对象发生了某一事件后,事件信息将被打包为ActionEvent类,并发送给事件监听器。而后事件监听器将根据其内容(包括鼠标点击的位置,动作等)做出相应的处理。(自动执行actionPerformed()函数) 而实现了特定接口的事件监听器为了对事件源对象的某一特定事件进行监测,因此必须进行注册。即告知事件源对象已被监听(b.addActionListener(m))
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值