在很多系统中,定时器都扮演着重要角色,有些任务必须按照一定的时间安排反复执行,有些任务必须在一段时间间隔后一次性执行,这些情况都需要运用定时器.从java1.3版本开始,定时器成为java.util库包的成员,值得研究的还有一个同时出出在swing库包中的定时器类,即javax.swing.Timer类,本章将详细说明这个Swing库包中的定时器的使用,它所蕴涵的模式以及它与java.util.Timer的区别.本章根据它们的米源把java.util.Timer叫做Utility定时器,而把swing库包所提供的Timer叫做swing定时器.一般来说,如果所需要定时的功能与swing无关的话,应当使用Utility定时器,而如果设计的系统和所定时的功能是与swing密切相关的话,就应当考虑使用swing定时器.
一:两种定时器的区别
(1)Swing定时器类使用一个线程处理所有的定时对象,因而不宜用来同时处理大量的定时对象,而Utility定时器则不然,它为每一个定时对象提供一个独立的线程,因此如果所设计的系统要求大量的定时器对象的话,则使用Utility定时器才可满足要求.
(2)在使用上,Swing定时器类需要一个Action对象,以封装定时的时为,而Utility定时器则每一个被定时的任务创建一个TimerTask对象,以封装被定时的行为。
分享到:
相关推荐
2. 观察者模式:游戏中的每个对象(如游戏板、方块、计分系统)都可以作为观察者,监听游戏状态的变化,如方块的下落、旋转等,从而更新自身的状态。 3. 模板方法模式:定义游戏的框架,如游戏开始、游戏结束、每...
- **观察者模式**:可能用于游戏状态的改变通知,比如分数更新时通知UI进行显示。 - **单例模式**:对于全局的游戏管理器或者配置类,可以采用单例模式确保只有一个实例存在。 通过这个项目,开发者不仅可以巩固...
9. **设计模式**:可能采用了观察者模式(Observer Pattern),让Timer作为观察者,当时间到时通知标签对象更新状态。 10. **测试与调试**:开发者应该进行了充分的测试,确保在不同操作系统和Java版本下都能正确...
8. **设计模式**:虽然这是一个小型项目,但依然可以应用设计模式,如工厂模式用于创建对象,观察者模式用于更新游戏状态等,提高代码的可维护性和扩展性。 9. **文件操作**:如果游戏支持保存和加载分数,那么需要...
1. **事件处理**:Swing中的事件模型是基于观察者模式的。游戏中的各种交互,如点击按钮开始游戏或移动角色,都需要监听用户输入并相应地触发事件。`ActionListener` 和 `MouseListener` 接口是实现这一目标的关键。...
8. **设计模式(Design Patterns)**:虽然这是一个简单的项目,但也可以引入一些设计模式,如单例模式(Singleton)来管理游戏实例,或者观察者模式(Observer)来更新分数或其他游戏状态。 通过这个"Java Swing ...
7. **设计模式**:为了提高代码的可读性和可维护性,开发者可能应用了一些设计模式,如观察者模式(Observer Pattern)来监听棋盘状态变化,工厂模式(Factory Pattern)来创建棋子对象等。 通过深入研究这个项目的...
- **观察者模式**:如果游戏包含多个对象需要同步(如分数显示),可以使用观察者模式让这些对象监听游戏状态的变化。 7. **调试与优化**: - **日志记录**:使用日志框架如Log4j可以帮助调试代码,记录关键操作...
这通常通过模型类实现,并通过观察者模式通知视图进行相应的显示更新。 7. **动画效果**:通过定时器(java.util.Timer)和帧动画技术,可以实现瓷砖翻转的平滑过渡效果。 8. **多线程**:为了防止UI在执行耗时...
- **观察者模式**:游戏状态的改变可以通知相关的组件,如当坦克移动时,地图和得分面板也需要相应更新。 - **工厂模式**:用于创建游戏对象,如坦克或子弹,可以根据需要生成不同类型的对象。 7. **调试与优化**...
- 观察者模式:游戏状态的改变(如坦克位置、分数等)可能通过观察者模式通知其他组件进行更新。 - 工厂模式:创建坦克、子弹等对象时,可能使用工厂方法简化代码。 通过分析和学习这个Java坦克大战游戏源码,...
10. **代码组织与设计模式**: 为了保持代码的清晰性和可维护性,源码可能采用了良好的设计模式,比如单例模式(用于创建唯一的小球实例)或观察者模式(让其他组件能监听小球的运动变化)。 以上就是“java会动的...
因此,我们需要设计一个游戏状态类来保存这些信息,并通过观察者模式更新界面。例如,每当有图标被消除,都会触发界面的更新,显示新的棋盘布局。 5. **用户交互**:除了基本的点击操作外,游戏还可能包含撤销、...
- 可能采用了观察者模式(Observer Pattern)来监听用户交互事件,当事件发生时通知相应的处理函数。 - 单例模式(Singleton Pattern)可能用于管理共享资源,如全局的定时器实例。 9. **测试与调试**: - 使用...
- 观察者模式:用于实现礼花状态变化时通知UI进行更新。 通过这个大作业,学生不仅能巩固Java编程的基本概念,还能深入学习和应用GUI编程、多线程、动画制作等相关技术,提升问题解决和软件设计的能力。
4. **观察者模式**:当游戏状态发生变化时,如蛇吃到食物,可以使用观察者模式通知所有相关的组件。 ### 五、项目结构与编译运行 1. **工程组织**:项目通常包含多个源代码文件夹,如`src`,其中包含各个类。`...
- 观察者模式:在事件驱动编程中,可能会用到观察者模式,使得提醒事件可以通知到UI或其他组件。 - 工厂模式:用于创建不同类型的提醒或闹钟实例。 7. **测试与调试** - JUnit:为了保证代码质量,jalarm源码中...
6. **设计模式**:为了保持代码的可维护性和扩展性,开发者可能采用了设计模式,如工厂模式用于创建不同类型的图片组件,单例模式管理全局的定时器实例,观察者模式用于监听用户操作等。 7. **MVC模式**:模型-视图...
- **观察者模式**:用于更新游戏状态,例如,当一个坦克被击中时,所有相关的观察者(如分数显示)都会得到通知。 - **工厂模式**:可能用于创建不同类型的坦克或炮弹。 10. **测试与调试**: - **JUnit测试**:...