java的事件源、事件、侦听器

2024-11-15 12:22:16
推荐回答(2个)
回答1:

先解释一下原理性的东西,其实什么事件源、事件、侦听器,听起来相当的玄乎,在Java中一切皆为对象,所以它们也就是3类对象。
举个例子,你创建了一个按钮对象,它可以产生点击事件并将事件对象传递出去,因此它就是一个事件源。你希望在按钮被点击的时候执行一些特定的操作(弹个对话框什么的),那么你就需要把要做的事情提前告诉按钮对象,方式就是通过创建一个侦听器对象并把它加入到按钮点击事件的侦听序列里。

现在讲讲代码怎么写,就点击按钮这个例子来说,你只要创建一个类实现ActionListener接口即可,大部分的工作已经被封装在按钮对象的创建过程中了。

我再多罗嗦2句,事件这个概念相当有用,JMS,SOA,ESB这些当前企业应用开发中的核心技术都与它都有密切的关系,它是从设计的角度来看待已知问题,使问题的各参与者达到更加低的耦合度,Java领域已经出现了基于事件驱动设计(EDD)的框架,它将业务逻辑及业务处理器完全分离开来(不同于Spring这样的Ioc容器还存在接口依赖),通过引入线程实现了异步处理,极大地提高了系统的吞吐量,它是对传统的观察者模式的一种发展和延伸。

回答2:

举个简单的例子

按钮 button 是一个事件源 单击 可以做一些操作 可以发生 ActionEvent

事件 要做的动作 可以用来 提交数据等

监听器 实现事件的接口 按钮实现actionListener 监听器 即
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//里面写点击按钮具体实现的内容

}

} )