Java中Action接口实现将一个监听器对象添加到几个事件源(事件处理)

本文介绍了如何使用Java Swing中的Action接口将同一个动作监听器应用于多个事件源,如菜单项、按钮和键盘快捷键。通过实现Action接口,特别是扩展AbstractAction类并覆盖actionPerformed方法,可以实现当用户点击这些不同元素时触发相同的功能,例如改变背景色。Action接口不仅提供putValue和actionPerformed等方法,还兼容ActionListener,允许在需要监听器的地方使用Action对象。
摘要由CSDN通过智能技术生成

      很多时候我们可以通过鼠标点击按钮或者键盘按键实现相同的特定功能。例如,假设有一个ColorChangeAction动作监听器,它的actionPerformed方法可以将背景色改变成某种颜色,将这个监听器添加到三个事件源上:标记为ColorChange的菜单项、标记为ColorChange的工具栏按钮和按键组合CTRL+R,这样,无论用户是点击按钮、菜单选项还是按键组合都能够实现改变背景色。Java Swing包提供了非常实用的Action接口实现将一个动作监听器连接到多个事件源。

      Action接口包含多种方法:void putValue(String key, Object value)、void actionPerformed(ActionEvent event)等(详见:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh),该接口扩展于ActionListener接口,因此,可以在任何需要ActionListener对象的地方使用Action对象。需要注意的是,Action是一个接口,实现该接口的所有类都必须实现Action接口中所有的方法。庆幸的是,AbstractAction类实现了Action接口除actionPerformed方法之外的所有方法。因此,我们可以直接扩展AbstractAction类,并在扩展类中实现actionPerformed方法。

      下面我们就以AbstractAction类实现将一个动作监听连接到按钮和按键,当点击按钮或按下键盘按键CTRL+Y、CTRL+B、CTRL+R来改变面板颜

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值