比如列表A是一个最简单的javabean例子。大部分JavaGUI工具包(AWT,Swing和SWT)的组件都使用JavaBeans规范。这样保证GUI的编辑器比如Eclipse Visual Editor或者别的Java IDE来维持组件的层次结构,并通过getters和setters来访问它们的属性。
JavaBeans事件和监听器
一个事件集定义一种事件,包括它通信什么,需要产生什么和监听事件是什么。一个事件集由以下几部分组成:
事件监听器接口
这个接口定义一个或多个方法,这些方法必须通过一个希望接收这种事件的类来实现。这些方法通常需要一个或多个参数,包括事件对象。
事件对象
事件对象从事件源传到监听器。包括所有必须的参数,这些参数能被监听器得到,包括事件源的起点。所有事件都是源自java.util.EventObject类
事件注册方法,包括add<Event>Listener() 和remove<Event>Listener(),允许一个组件管理所有已注册对这个特定事件感兴趣的组件。这个方法就一个参数,也就是对这个事件感兴趣的对象。这个对象必须实现<Event>监听器接口。
Java.awt包提供许多预定义好的事件集,例如焦点事件、鼠标事件、鼠标移动事件、键盘事件等等。这些事件集都包含了<Event>监听器接口和事件对象。
比如,我们用键盘事件为例。键盘事件集包括KeyListener接口(这个接口定义了keyPressed(),keyReleased()和keyTyped方法)与KeyEvent类。任何要产生键盘事件的组件都必须定义addKeyListener()和removeKeyListener()注册方法。我们可以注意到对于key事件的命名模版的规范:事件名Key出现在监听器接口、方法(可选)、事件对象和注册方法中。你可以使用相同的命名规范给你自己创建的所有事件集命名。
预定义事件集(比如key事件集)通常对于你的开发需要已经足够了。然而,你也可以创建你自己定义的事件集,只要你想要。
假如你想让你的一个组件产生事件,你必须定义事件集、事件对象、事件注册方法,这样别的已经注册对这个事件感兴趣的组件能够在事件激发后被通知到。
Peter V. Mikhalenko 是一个通过sun认证的专家,现在Deutsche银行工作,主要从事商业顾问。
责任编辑:德东