版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微波炉模拟应用程序设计与实践班级:软件技术 (1) 班学号:201015040102 姓名:* 指导教师:张海波2011 年 06 月 06 日目 录一、应用程序功能需求分析. 3 二、程序设计主要部分源代码及功能实现 .4 三、学习心得与收获 .10 很长时间以来我一直困惑不已,为什么一些又贵又先进的东西会一点用都没有。直到我突然想起, 计算机 不就是一台愚蠢之至却拥有难以置信的做聪明事能力的机器嘛,而程序员不就是聪明绝顶却拥有难以置信的干蠢事的能力的人嘛。一句话,他们简直就是天生绝配。2应用程序功能需求分析联想现实生活中用到的微波炉,将它的工作原理用应用程序来模拟实现。这个微波炉模拟应用程
2、序将包含一个允许用户设定微波炉烹调时间的小键盘,同时显示相应的烹调时间,当输入某个时间后,用户可以通过点击 start jbutton来启动整个烹调过程。此时,微波炉上的玻璃窗将改变颜色 (由灰色变为黄色),从而模拟食物烹调过程中微波炉内的灯光颜色, 相应的定时器也将按每次一秒的速度进行递减。当时间终止时,该微波炉的玻璃会再次返回到灰色状态(表示微波炉已停止工作) , 然后,显示文本“done! ” 。 用户可在任何时刻通过点击clear jbutton停止微波炉的工作,然后再重新输入一个新时间。注意,用户所输入的分钟数不能超过59,秒数也不能超过59;否则,任何无效的烹调时间都将被重置为零。
3、将要创建的应用程序是一个允许用户输入烹调时间的微波炉模拟程序。为处理时间数据,需要创建一个称之为cookingtime 的类。此类用于存储分钟数及秒数 (微波炉模拟应用程序通过它们记录剩余的烹调时间)。为使应用程序能够访问和改变分钟数及秒数,还将为该类提供相应的 get方法和 set方法。3 程序设计主要部分源代码及功能实现微波炉模拟应用程序通过使用jpanel组件将其内部的组件组织了起来。该应用程序需要两个jpanel 一个组织该应用程序中的jbutton和 jtextfield,另一个则代表微波炉的玻璃窗。相应的模板应用程序已提供了其中的一个jpanel , 我们只需添加另外的一个jpan
4、el 。微波炉模拟应用程序中含有一个存储时间(包括分钟和秒)的对象,此对象出自一个烹调时间类(类名为cookingtime) 。在创建微波炉这个类之前要先创建cookingtime 类。用户是通过点击数字jbutton来完成输入的。每当一个数字 jbutton被点击时,该 jbutton 上的数字将追加至gui 中用于显示烹调时间的那个 jtextfield的末尾。在输入完烹调时间以后,可通过点击start jbutton启动烹调过程,或者是点击clear jbutton重新输入一轮新的时间。如果点击的是start jbutton,那么将利用 timer 组件开启倒计时功能,同时微波炉窗口也将
5、变为黄色,说明该微波炉的灯光已经打开(方便用户观察所烹调的食物) 。每隔一秒钟,会更新剩余烹调的时间的显示。当倒数计时结束时,会在displayjtextfield中显示出文本“done!,而微波炉内的“灯光”也将通过窗口变为默认的灰色,表明微波炉已经关闭。当点击其中任何一个数字jbutton时,都会将输入发送至应用程序中,而输入的数字值也将显示在displayjtextfield中。一旦输入所有数据,便可通过点击start jbutton 4 开启倒计时。windowjpanel的背景色将被设置为黄色,从而模拟已经打开的微波炉灯光,而 clocktimer 将在倒计时的过程中, 以每隔 1
6、秒的速度更新 displayjtextfield中的内容。为了能清除原先的输入并重新启动微波炉,可以通过点击clear jbutton来实现。代表微波炉的玻璃窗(烹调时显示黄色,停止工作时为灰色);显示时间和微波炉工作状态;输入烹调时间的数字jbutton;控制微波炉工作状态。1.定义一个 cookingtime 类,设置储存分秒信息的实例变量。public class cookingtime private int minute; private int second; 对象初始化,定义一个构造方法。5 public cookingtime( int minutevalue, int sec
7、ondvalue ) setminute( minutevalue ); setsecond( secondvalue ); 2. 当设置分钟时,如果分钟数大于0 且小于 60,将分钟数设置为指定值;否则,将分钟数归零。public void setminute( int value ) if ( value = 0 & value 0 ) setsecond( getsecond() - 1 ); else if ( getminute() 0 ) setminute( getminute() - 1 ); setsecond( 59 ); 4. 控制成员的访问。 private i
8、nt minute; private int second; 7 表示该变量只能被cookingtime 类的成员所访问。5. 设定 clocktimer 的延迟。clocktimer = new timer( 1000, timeractionlistener ); 6. 启动烹调过程。开启定时器并打开“灯光” ,以表明微波炉正在烹调。 timetodisplay = ; clocktimer.start(); windowjpanel.setbackground( color.yellow ); 7. 执行过程中,时间递减。 microwavetime.tick(); if ( !micr
9、owavetime.isdone() ) displayjtextfield.settext( timeformat.format( microwavetime.getminute() ) + : + timeformat.format( microwavetime.getsecond() ) ); 8 8. 烹调过程终止。else clocktimer.stop(); displayjtextfield.settext( done! ); windowjpanel.setbackground( new color( 222, 222, 222 ) ); 通过使用一个属于程序员定义的类(coo
10、kingtime 类) ,创建一个微波炉模拟器, 并为定义的类添加了一个构造方法、一些实例变量以及两对 get 方法和 set 方法,通过构造方法, 可以完成实例变量的初始化操作。对于每一个实例变量来说, 定义相应的 get 方法和 set 方法,可实现对该实例变量的安全访问及修改操作。利用所定义的类及其方法,创建一个cookingtime 对象。通过使用cookingtime 类中定义的方法,访问并显示出了一个可由用户指定的微波炉烹调时间 (包括分和秒)。另外利用 jpanel 模拟出了该微波炉的玻璃门。9 学习心得与收获通过此项目,主要学到了声明一个属于自己的类,创建并使用属于自己类的对象
11、,控制实例变量的访问,get方法与 set方法的定义。做项目就是要认真,教材上讲解的非常详细,万事都得靠自己专研,还要多与同学交流经验, 学会创新,最快的方式就是以读程度的方式学习! 1. 态度第一摆正自己的心态,不要以为什么东西上网搜搜就可以了,一定要有自己的东西。 只有自己付出过, 当程序运行成功时的那种喜悦才会令自己有一种莫名的自豪感。态度决定一切!2. 兴趣是关键我的学习完全是兴趣导向的,所以压力并不大。因为有兴趣,所以我会很想充分理解一切细节。又因为理解, 所以许多原本片片断断的知识都可以渐渐互相融会贯通,累积技术能量, 理论和实务之间的藩篱被打破了,学习效率倍增。学习并快乐着!3. 敢于挑战不安于现成的程序,要敢于用多种方法实现一个目的。现在的网10 络科技很发达,想要一个源程序的确很简单,所以很多人都是在自己都不明白题目要求时, 就可以在网上搜到一模一样的代码,根本没有自己的东西。 挑战自我是项艰巨的任务。 只有坚持自己多看代码多写程序才会有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年贵州贵阳市中考历史试题(附答案)
- 2025年广西壮族自治区崇左市八年级地理生物会考真题试卷(含答案)
- 2025年广西壮族自治区北海市初二地理生物会考题库及答案
- 2025年广东省珠海市八年级地生会考考试题库(附含答案)
- 2025年新疆维吾尔自治区吐鲁番市地理生物会考考试真题及答案
- 第6课《老山界》教学设计(内嵌视频) 2025-2026学年统编版语文七年级下册
- 口腔护理中的远程医疗服务
- 家政护理员烹饪营养学
- 2026年知识产权授权协议范本
- 妇女保健与护理
- DL∕T 1965-2019 回转式翻车机系统运行维护导则
- 公司及部门年度经营责任书(模板)
- MH-T 5002-2020运输机场总体规划规范
- 甲磺酸奥希替尼片-临床用药解读
- 医务人员职业风险与防护课件
- 9《那个星期天》课件
- 2024年山东中烟工业有限责任公司招聘笔试参考题库含答案解析
- 人口信息查询申请表(表格)
- 安徽省合肥市合肥第一中学2022-2023学年高一下学期期末物理试题
- 加氢裂化题库
- 信号与动态测量系统
评论
0/150
提交评论