物体发出------分发事件--------》自身---------发出处理事件------》监听器
第一步:物体可以安装不同种类的监听器,这样可以处理不同类型的消息。
通过组装的方式:
class ObjcetClass{
ListenerInterface001 listener1;(在Swing中实际上是一个二叉树。)
ListenerInterface002 listener2;
ListenerInterface003 listener3;
}
第二步:构造监听器,通过实现:
class Listener1 implements ListenerInterface001 {
}
class Listener2 implements ListenerInterface002{
}
class Listener3 implements ListenerInterface003{
}
第三步:将监听器安装到物体上(或者通过ADD接口):
listener1=new Listener1();
listener2=new Listener2();
listener3=new Listener3();
第四步:
不同的事件映射为不同的监听器的实现,通过switch语句:
event1-->listener1
event2-->listener2
event3-->listener3
注意:以上步骤中,监听器的实现优为重要。
因为监听器要访问发出事件的物体本身,因此,经常利用匿名类。
分享到:
相关推荐
这个简单的JAVA开发的远程桌面监视小程序,虽然功能有限,但它涵盖了许多基础的编程概念和技术,对于学习Java和理解远程监控系统的工作原理来说,是一个很好的实践项目。通过深入研究和扩展这个程序,可以进一步提升...
【标题】猜数字小游戏(ActionListener 监听器) 在这个基于Java Swing的猜数字小游戏中,我们主要涉及了几个核心的编程...这个项目对于初学者来说是一个很好的实践案例,可以帮助他们深入理解和掌握Java GUI编程。
通过理解并掌握上述知识点,开发者可以构建一个功能强大的纯文本监视器,为软件开发和系统监控提供有力的支持。在实际项目中,根据具体需求,还可以扩展更多功能,如文件过滤、内容过滤、文件对比历史等。
Java实现的俄罗斯方块是一个经典的编程项目,它涵盖了多种重要的编程概念和技术,特别是对于学习Java和游戏开发的初学者来说,这是一个很好的实践案例。在这个项目中,我们将主要探讨以下几个核心知识点: 1. **...
观察者模式的源码通常包括一个主题(Subject)类,它持有对观察者(Observer)的引用,以及多个观察者类,它们实现了Observer接口并定义了状态改变时的更新方法。查看源码可以帮助我们理解这些类如何协同工作,以及...
3. **可视化展示**:为了便于理解和分析,通常会将数据以图表或仪表盘的形式展示,这可能需要用到JavaFX或Swing等GUI库。 4. **实时性与效率**:由于网络流量实时性强,因此监控系统需要具备高效的处理能力,避免因...
4. **设计模式**:可能应用到单例模式(Singleton)来保证银行实例的唯一性,工厂模式(Factory)用于创建账户对象,或者观察者模式(Observer)来实时更新账户状态。 5. **用户界面**:尽管描述中没有明确指出,但...
通过深入研究JDK 1.4的源码,初学者可以了解Java语言的基础结构、设计模式以及类库的实现原理,这将为后续的高级编程和框架学习打下坚实基础。同时,理解源码也能帮助开发者避免不必要的错误,提高问题排查效率。...
7. **设计模式**:良好的软件设计通常会使用设计模式,如单例模式(用于音频服务)、观察者模式(用于更新UI状态)等。 8. **MVC(模型-视图-控制器)架构**:这是一种常用的软件设计模式,将业务逻辑(模型)、...
同时,Java开发者广泛使用设计模式,如工厂模式、单例模式、观察者模式等,这些模式在解决特定问题时能提高代码可读性和可维护性。 五、Java框架与库 1. Spring框架:提供依赖注入、AOP(面向切面编程)、数据访问...
6. **观察者模式与广播器** - 观察者模式介绍 - 多播机制的应用 - 线程间数据共享 7. **单例模式、临界区与读写锁** - 单例模式与线程安全 - 临界区的概念 - 读写锁的工作原理 8. **面向对象世界中的线程** ...
6. **设计模式**:在解决此类问题时,可能会应用到一些设计模式,比如“监视器模式”(Monitor Pattern),它利用`synchronized`和`wait/notify`来实现对象的同步,确保线程安全。 7. **并发API**:Java 5及以上...
描述中提到的“源代码+论文”,意味着这个压缩包包含完整的项目源代码和相关的技术文档,这将帮助学习者理解系统的实现细节,包括设计决策、技术选型、问题解决过程等。通过阅读论文,可以深入理解项目的理论背景、...
- **设计模式**:熟悉并应用工厂、单例、观察者等经典设计模式,提高代码复用性。 6. **版本控制**: - 使用Git进行版本控制,掌握分支管理和合并策略,便于团队协作。 通过学习这些小技巧,开发者不仅可以提升...
Observable是Java中实现Observer模式的一个接口,允许对象监视其他对象的状态变化。 **标签解析:** "Java" 指示这个项目是用Java语言实现的。Java是一种广泛使用的面向对象的编程语言,具有跨平台、安全性强和性能...
Axis2是Apache Software Foundation旗下的一款WebService引擎,主要负责...总的来说,Axis2教程为WebService开发者提供了一套完善的学习体系,帮助他们从基础知识到实际应用,逐步深入理解和运用Axis2开发WebService。
2. **Swing组件库**:Swing是Java GUI(图形用户界面)编程的主要工具,提供了一系列可定制的组件,如按钮、文本框、面板等,使得开发者可以创建美观且功能丰富的桌面应用。 3. **JavaBeans**:JavaBeans是一种遵循...
通过研究Eclipse IDE的源码,开发者不仅可以深入了解IDE的内部工作原理,还能学习到软件设计模式、组件通信、插件开发等多方面的知识,对于提升自己的开发技能和理解复杂系统设计具有极高的价值。