Java事件处理学习笔记

Java事件处理学习

 

当操作系统为用户的一个动作(例如:点击鼠标)产生一个事件,和操作系统通信的那部分AWT会收到一个通知并且把它转换成一个AWT Event。然后AWT将这些事件放入事件队列中。一些AWT派遣这些事件给listeners,步骤如下:

1.  从事件队列中去事件;

2.  给这个事件找到匹配的listener

3.  为这个事件调用适合的listener过程

 

相关概念:

1.  Event Source:触发事件的源组件。其中有能够登记事件侦听对象的方法。当Source的一个事件发生的时候,Source将这个事件(Event)的消息传递给所有这个事件的侦听对象(Event Listener)。

2.  Event:事件对象。所有有关事件的信息被封装在一个事件对象中。在java中,所有事件对最终继承自java.util.EventObject 对象。当然每一种具体的事件有自己的继承自的事件对象,例如: ActionEvent WindowEvent.java.awt包中。

3.  Event Listener:事件侦听对象。Listener 对象利用传给它的event 对象的信息决定他们执行什么动作。在java.util包中。

4.  Action:如果你有两个或者更多组件执行同一个函数,考虑使用Action 对象去实现这个函数。Action对象是一个不仅提供活动事件处理并且集成了触发这个事件的组件(如:toolbar buttonmenu itemscommon buttons text fields)的描述的处理的action ListenerSwing包提供了非常实用的机制用了封装命令并且将他们和多种event source联系起来:Action 接口。Action interface继承自ActionListener interface ,因此你可以在希望使用ActionListener对象的任何时候使用Action对象

Action对象封装了下面内容:命令的描述、处理这些命令的参数;

 

Action interface 有下面方法:

 

void actionPerformed(ActionEvent event)

void setEnabled(boolean b)

boolean isEnabled()

void putValue(String key, Object value)

Object getValue(String key)

void addPropertyChangeListener(PropertyChangeListener listener)

void removePropertyChangeListener(PropertyChangeListener listener)

 

 

事件的种类:

Semantic Events :用户触发组件可以发生的event。如:ActionListener

Low-Level Events:使这成为可能的event。如:Mouse Event

 

Container Event

Foucs Event

Window Event

Paint Event

Input Event

Key Event

Mouse Event

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值