红绿灯 JAVA课程设计报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
红绿灯 JAVA课程设计报告

合肥学院 计算机科学与技术系 课程设计报告 2012~2013学年第一学期 课程 JAVA语言 课程设计名称 JAVA语言课程设计 学生姓名 朱鹏飞 学号 1104011011 专业班级 11级计本(3)班 指导教师 檀明、张艳明 2013 年 1 月 课程设计目的 通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《JAVA语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用JAVA语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)熟练掌握JAVA语言的GUI设计、多线程技术,灵活运用各种类库。 课程设计名称及内容 名称:交通灯模拟程序 内容:设计一个交通灯管理的模拟程序,实现在一个十字路口的交通管理 任务和要求 设计程序界面,画出十字路口和交通灯。 可以手工设置红、绿等的时间间隔,程序按设定值自动变换每个路口的交通灯颜色。 随机产生一些车辆,这些车辆遵守红灯停、绿灯行的交通规则。 设计方案提示 分别设置两个线程代表东西和南北方向的交通灯,根据设定值变换交通灯颜色 每个车辆对应一个线程,利用线程技术实现车辆的红灯停、绿灯行的行为 总体设计思路 从实验的要求上看,要实现交通灯的管理,需要解决的问题有两大部分: (一)绘制出交通灯及路口上的线路,以界面的形式展现出来。以此作为程序运行的一个进程。 (二)程序对交通灯时间按计数器进行监听,倒计时时间为0的时候就进行切换。同时设置文本框,当操作员将时间写入文本框当中之后,点击确定按钮就将程序中的红绿灯的时间重置。以此作为一个线程。 (三)随机在各个路口产生车辆,符合条件则通过,不符合条件则暂停。以此作为程序运行的另一个进程。 程序中用到的6个类,介绍如下: 1.主类:TrafficLight 该类是从Jframe类中继承过来的,该类当中定义了文本框、文本区、按钮这些对象成员变量。然后,在主类的构造方法中,设置窗口的大小并将这些组添加到窗口容器当中。这些组建是采用默认的顺序布局,根据设定的大小和其实位置添加到容器中。 为“确定”按钮注册监听器,对其动作进行监听。在try-catch中处理的是:从文本框中获取数据并将其转换成整型作为红绿灯的时间,在对设置的红绿灯时间进行修改。异常处理的方式是输出当前异常所产生的位置。 在主方法当中,是创建一个TrafficLight类的对象,通过构造方法来实现所需的功能。 2.绘制窗口的类Luche 该类是JPanel类的子类,该类当中含有的方法及其作用如下: (1)该类当中的一个构造方法Luche() 该方法的功能是将被十字路分割成的四块区域的背景设置为绿色。 (2)绘制界面的方法(即该类中程序的执行入口): public void paint(Graphics g1) 设置十字路口,即根据具体的坐标绘制两个构成“十”字的道路。再根据车子的位置用for循环创建对象,以车子对象的两个成员变量(横纵坐标值)作为绘制填充圆的圆心所在位置,以及根据相应的矩形大小绘制填充圆。 对这几个灯进行判断,在其位红色、绿色的情况下,对其进行不同的处理。加载图片对象,用try-catch对异常处理,加载是时间间隔为10毫秒。 (3)repaint()方法,循环的调用paint()方法。 (4)public ListCar getCars()、public void setCars(ListCar cars) 这两个方法的作用是:返回Car,即加Car移出,另一个是将获得Car赋给该类当中的成员变量。 (5)lauch() 该方法的作用就是:创建是三个线程对象,分别是界面的绘制的、车子对象的创建、时间倒计时对象。 (6)其他的一些方法: 这些方法的作用就是盘对灯的颜色,然后将该类当中的成员变量附上该值。 3.随机产生车子线程类:class CarThread implements Runnable 该类的功能是实现Runnable接口功能:在run()方法中,用while循环,在永真的条件下,将car对象添加到其中。用try-catch处理异常,在产生异常的情况下,就输出该异常对象。 4.控制小车子行驶的线程类:class CarRunThread implements Runnable 控制的原理同上,再永真的while循环当中,产生Car对象,对其类型(所在的位置)进行判断然后根据不同的线路将其移除(在满

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档