【php精品源码栏目提醒】:网学会员在php精品源码频道为大家收集整理了“【精品】java13-观察者模式与Swing事件处理 - 大学课件“提供大家参考,希望对大家有所帮助!
观察者模式 与Swing事件处理上讲回顾 常用控件 Data Check 对话框本课目标 理解事件处理概念 掌握Swing中的组件的事件处理过程 理解观察者模式现实生活中的事件与事件处理 1、同学们上课提问,发生了提问的事件, 老师要对此提问事 件进行事件处理 2、司机驾驶汽车违反交通规则,发生了违规事件,交警要对 此违规事件进行事件处理 3、起风了,下雨了,人们要对下雨了这个事件进行处理事件驱动编程 JavaSwing应用程序带有显著事件驱动的特点 每个对象都有它自己的事件集 在事件驱动应用程序中,代码不会遵循固定的执行路径,而 是由操作事件来决定 响应事件时执行的代码称为事件处理程序事件驱动编程的优点 可以为用户提供即时反馈 使程序设计更贴近用户的操作需要 使程序设计的目的性更强 减少程序的复杂性程序中的事件 单击菜单条目或按钮,移动鼠标等等动作 操作系统记录此操作,并记录鼠标光标在屏幕上的位置 操作系统判断光标所在的窗口是由哪个应用程序控制 的,并将鼠标按钮按下的操作传给该程序 我们把程序从操作系统接收到的作为用户操作结果的信 号称为事件程序中的事件处理 发生事件的程序会根据事件的类型进行相应的处理(编写代码, 调用一个或几个相应的方法),也就是说,事件还没发生我们已 经知道了应该怎样处理它,只是等待事件发生 程序能够识别出的每一个事件都与一个或多个方法相关,并且在 事件发生的时候,如单击一个菜单条的时候,自动调用相应的方 法 程序不一定需要对所有事件进行响应,如果没有代码进行响应, 事件就被安静的处理掉事件驱动程序 基于GUI的程序亦为事件驱动程序,因为用户与 GUI交互的结果即事件的顺序,将驱动和决定程序 将做什么 事件处理程序 用户交互 用户交互单击鼠标 按下/释放鼠标按钮 对象状态改变 对象状态改变 调用事件处 事 件 确定发生的事件的类型 确定生成的事件的组件 调用合适的代码处理事事件处理过程假设单击了程序中GUI的一个按钮,则这个按钮是这个事件的源单击按钮的时候,程序会生成一个事件对象,用来表示和识别这个事件,这个事件对象包含有关事件和事件的源信息所有传递给Java程序的事件都将由一个特殊的事件对象表示,这个对象将作为参数传递给事件处理对象的相应方法委托(代理)事件模型 在Java中处理事件的方法称为委托事件模型, 因为由一个组件引起的事件不是由引起事件自 身的对象负责,而是委托给独立的事件处理者 对象负责 委托事件模型实际上是由观察者模式实现的模式 我们处理大量问题时在很多不同的问题中 重复出现的一种性质它使得我们可以使用 一种方法来描述问题实质并用本质上相同 但细节永不会重复的方法去解决这种性质 就叫模式 简单的说模式就是一种惯性的思维方式,用于 解决同一类问题开创性著作 《Design Patterns – Elements of Reusable Object-Oriented Software》 作者: E.Gamma R.Helm R.Johnson J.Vlissides推荐书籍 阎宏 1987年毕业于中国科技大学近 代物理系 1990年于中科院理论物理所获 硕士1992年获博士 从1992年到现在在美国从事 软件研究开发工作 现在美国花旗银行工作副总 裁级系统工程师经典的23种模式 创建型 结构型 行为型 类 工厂方法 适配器Adapter 解释器Interpreter Factory Method 模板方法Template Method对象 抽象工厂 适配器Adapter 责任链 Abstract Factory 桥接Bridge Chain of Responsibility 生成器Builder 组成Composite 命令Command 原型Prototype 装饰Decorator 迭代器Iterator 单态Singleton 外观Facade 中介者Mediator 享元Flyweight 备忘录Memento 代理Proxy 观察者Observer 状态State 策略Strategy 访问者Visitor观察者模式 观察者模式(Observer)是对象的行为模式,又称: 发布-订阅模式(Publish/Subscribe) 源-监听器Source/ListenerSwing中的事件处理 对比JavaSwing中的事件处理总结 我们的程序中更多的地方为面向功能的编程,即面向接口编程 当事件发生的时侯会调用事件处理的程序完成所需操作 Java中的事件处理采用委托模型的处理方式 模式是解决同一类问题的一种固有的思维方式 观察者模式是很重要的一种模式 Swing中的事件处理使用起来很简便上一篇:【精品IT教程】如何在Linux下搭建apache服务器