java事件处理

1.java将事件的相关信息封装在一个事件对象(event  object)中。

2.AWT事件处理机制的概要:

(1)监听器对象是一个实现了特定监听器接口的类的实例。

(2)事件源是能够注册监听器对象并发送事件对象的对象。

(3)当事件发生时,事件源将事件对象传递给所有注册的监听器。

(4)监听器对象利用事件对象中的信息决定任何对时间做出的响应。

图形表示为:

3.适配器类:每个含有多个方法的AWT监听器接口都配有一个适配器(adapter)类,这个类实现了接口中的所有方法,但每个方法没有做任何事情。可以通过扩展适配器类来指定对某些事件的响应动作,而不必实现接口中的每个方法。

4.用同一个动作响应按钮,菜单项或击键的方式:

 

(1)实现一个扩展于AbstractAction类(实现了Action接口的类,Action接口实现了ActionListener接口)的类。多个相关的动作相关的动作可以使用同一个类。

(2)构造一个动作类的对象。

(3)使用动作对象创建按钮或菜单项。构造器将从动作对象中读取标签文本和图标如:JButton button1 = new JButton(Action a);

(4)为了能够通过击键触发动作,必须额外的指向几步操作。首先定位顶层窗口组件,例如包含所有其他组件的面板。

(5)然后,得到顶层组件的WHEN_ANCESTOR_OF_FOCUS_COMPONENT输入映射。语句表示为:

InputMap imap = buttonPanel.getInputMap(JCompenent.WHEN_ANCESTOP_OF_FOCUS_COMPONENT)其中的buttonPanel为顶层窗口组件。为需要的击键创建一个KeyStroke对象。创建一个描述动作字符串这样的动作键对象,将(击键,动作键)对添加到输入映射中。语句表示为imap.put(KeyStroke.getStroke("ctrl Y"),"panel.yellow");

(6)最后,得到顶层组件的动作映射。将(动作键,动作对象)添加到映射中。如:ActionMap amap = button.getActionMao();

amap.put(“panel.yellow”,yellowAction);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值