Java事件模型与Android事件模型的比较
2010-07-01 14:49:00 来源:WEB开发网4. 如何使用事件处理模型对事件进行处理:
作为一个程序开发者,我们所要做的是创建事件监听器对象并且在被激活事件的组件中进行注册。在java中,每一个组件会产生什么样的事件,已经被定义好了。或者说,对于任何一个事件来说,哪些组件可以产生它,已经是确定的了。
(1) 为了创建事件监听器以及在被激活事件的组件中进行注册,需要了解以下四个组件概念。
事件类、事件监听器、事件处理器和适配器四个组件。
事件类:见图4.1
事件监听器:是interface, 形中XXListener,而且,在java中,这些interface已经被定义好了。用来被实现,它定义了事件处理器(即事件处理的方法原型,这个方法需要被重新实现)。例如,ActionListener接口,
MouseListener接口
WindowListener接口
KeyListener接口
ItemListener接口
MouseMotionListener接口
FocusListener接口
ComponentListener接口
适配器:因为对于有的事件监听器来说(例如,MouseListener
),java已经提供了实现它的类,那么我们就可以直接继承这个类,来处理事件。
Java提供了表示不同的事件的类, java.util. EventObject是事件顶层类,其层次结构如下:
图4.1
需要说明的是:
̶ EventObjet类提供了getSource()方法获取产生事件的源对象。
̶ AWTEvent类提供了getID() 方法返回事件本性的标识符。例如,如果鼠标事件发生,能够查出是单击、拖拉、按、还是其他操作。
(2)程序开发步骤:
所谓的创建事件监听器对象,就是创建一个类,而这个类必须实现形如XXListener的接口(或者继承”已经实现了XXListener的类”),当然,实现这个接口就意味着重写XXListener的方法。例如,对于ActionListener, 只有一个actionPerformed方法:
class B1 implements ActionListener { // 实现ActionListener
public void actionPerformed(ActionEvent e) { //重写actionPerformed getAppletContext().showStatus("Button 1");
}
在被激活事件的组件中注册事件监听器: 即调用形如addXXListener()的方法,例如:
Button b1 = new Button("Button 1"),b1.addActionListener(new B1());
更多精彩
赞助商链接