Java课程设计报告(LED时钟)
- 格式:doc
- 大小:123.18 KB
- 文档页数:16
佛山科学技术学院《可视化编程技术》课程设计报告时钟软件设计学生姓名:***学号:**********年级专业:11级教育技术学2班指导老师:***学院:教育科学学院广东★佛山提交日期:2013年6月目录1. 前言 (2)2.概要设计 (3)2.1 开发环境 (3)2.2 计算器功能 (3)2.3 界面设计 (3)2.4 类的框架结构图 (4)3. 详细设计 (4)3.1 使用的JAVA类的说明 (4)3.2 类的主要方法 (5)3.2.1 处理按了运算符后的计算 (5)3.2.2 处理输入字符 (6)3.2.3 进制的转换 (6)3.2.4 设计总体认识 (7)3.2.5 程序流程图 (8)4. 运行结果 (8)5. 测试分析 (9)5.1 程序运行情况 (9)5.2 程序异常处理 (9)6. 源程序 (9)参考文献 (27)设计总结 (27)摘要:本程序在框架中新建一个容器,用GridLayout类对面板进行划分,程序引入java.util.Date来显示当前时间;用一个永真循环,来对当前时间显示的更新,用java.io.File来实现对文件读写,设计了一个按钮,用来选择文件WAU或MID,用java.applet.Applet 播放音乐文件,用getText()函数获取输入的闹钟设定时间,并永真循环和当前的时间进行对比,若相等则播放音乐,若不相等则显示离目标设定时间的差距.关键字:java时钟,时钟类,方法,事件1 前言随着科学技术的不断发展,计算机已经成为我们工作学习和生活中不可缺少的工具。
文本编辑器是个人计算机最司空见惯的应用程序了,在学习了Java语言之后,我决定使用Java语言编写一个简单的时钟,可以清楚地知道时间和设定一个时间来提醒自己,满足日常基本的工作学习和生活需要。
Java是由Sun公司开发的新一代纯面向对象的网络编程语言。
其目标是建立一种在任意种机器、任一种操作系统的网络环境中运行的软件,实行所谓的“程序写一次,到处运行”的目标。
led电子钟课程设计报告一、课程目标知识目标:1. 让学生掌握电子钟的基本原理,了解LED显示技术;2. 使学生了解数字电路基础知识,理解计数器、时钟信号等概念;3. 引导学生掌握电子元器件的识别与使用,了解电路图的阅读与绘制。
技能目标:1. 培养学生动手搭建简单电子电路的能力,学会使用面包板进行电路连接;2. 培养学生运用所学知识,设计并制作一个具有基本功能的LED电子钟;3. 培养学生通过团队协作,解决实际问题的能力。
情感态度价值观目标:1. 激发学生对电子技术的兴趣,培养其探索精神和创新意识;2. 培养学生养成良好的学习习惯,严谨的科学态度,提高其自我管理和团队协作能力;3. 增强学生的环保意识,使其关注电子产品对环境的影响,倡导绿色环保。
分析课程性质、学生特点和教学要求,本课程以实践性、综合性、创新性为特点,结合学生年龄特点和知识水平,以培养学生的学习兴趣、动手能力和团队协作精神为核心。
课程目标分解为具体学习成果,如:学生能够独立完成电路连接,制作出具有基本功能的LED电子钟;能够在团队合作中发挥个人特长,共同解决实际问题等。
后续教学设计和评估将以此为基础,确保课程目标的实现。
二、教学内容本章节教学内容围绕LED电子钟的设计与制作展开,主要包括以下几部分:1. 电子钟基本原理:讲解时钟信号、计数器、分频器等基本概念,使学生了解电子钟的工作原理。
2. 数字电路基础知识:介绍与门、非门、触发器等基本数字电路的工作原理和应用。
3. 电子元器件识别与使用:学习常见电子元器件(如电阻、电容、二极管、三极管等)的识别及使用方法。
4. 电路图阅读与绘制:培养学生阅读电路图的能力,学会使用电路图绘制工具。
5. LED显示技术:介绍LED显示原理,了解数码管、点阵屏等LED显示器件。
6. 电路设计与搭建:学习面包板的使用,指导学生动手搭建LED电子钟电路。
7. 程序设计与调试:运用编程软件,编写控制程序,实现电子钟的基本功能。
java课程设计钟表一、教学目标本章节的教学目标是使学生掌握Java编程语言的基本语法和编程思想,通过制作一个钟表程序,让学生能够理解和运用Java中的面向对象编程思想,熟练使用Java语言实现图形用户界面。
1.理解Java编程语言的基本语法。
2.掌握Java中的面向对象编程思想。
3.熟悉Java语言实现图形用户界面的方法。
4.能够使用Java编程语言编写简单的程序。
5.能够使用Java编程语言实现一个基本的钟表程序。
6.能够运用面向对象编程思想分析和解决问题。
情感态度价值观目标:1.培养学生的编程兴趣,提高学生对计算机科学的热爱。
2.培养学生的团队合作意识,学会与他人分享和交流。
3.培养学生的问题解决能力,勇于面对和克服困难。
二、教学内容本章节的教学内容主要包括Java编程语言的基本语法、面向对象编程思想和图形用户界面设计。
1.Java编程语言的基本语法:包括数据类型、变量、运算符、控制语句等。
2.面向对象编程思想:包括类、对象、封装、继承、多态等。
3.图形用户界面设计:包括Swing组件、事件处理、布局管理等。
三、教学方法为了达到本章节的教学目标,将采用多种教学方法相结合的方式进行教学。
1.讲授法:讲解Java编程语言的基本语法和面向对象编程思想。
2.案例分析法:通过分析钟表程序的案例,让学生理解和掌握Java语言实现图形用户界面的方法。
3.实验法:让学生动手编写和运行Java程序,加深对Java编程语言的理解和掌握。
四、教学资源为了支持本章节的教学内容和教学方法的实施,将准备以下教学资源:1.教材:Java编程语言的相关教材。
2.多媒体资料:包括PPT课件、视频教程等。
3.实验设备:计算机、网络等。
通过以上教学资源的支持,将能够丰富学生的学习体验,提高学生的学习效果。
五、教学评估本章节的教学评估将采用多元化的评估方式,以全面客观地评价学生的学习成果。
1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和积极性。
JA V A实验报告实验二运用JavaFx实现时钟动画班级:计算机科学与技术1306学号:***********名:***指导教师:***2014 年12 月 1 日目录一.概述 (3)二.总体方案设计 (4)三.详细设计 (4)四.程序的调试与运行结果说明 (5)五.课程设计总结 (7)六.后记 (7)七.附录 (7)参考文献 (9)一概述1.课程设计的目的设计一个带有指针、数字时钟,并且具有秒表功能,能方便我们的使用和操作,为我们以后的使用创造一个良好的平台。
了解和掌握JavaFx基本概念和用法。
把自己所学的理论知识运用到实际操作中去,以此来发现自己的不足,及时的改正。
在实际的操作中学习及运用还没有学过的知识。
最后在调试与测试的过程还可以提升自己的改错能力也是自己经验的积累。
java课程具有比较强的实践性。
上机实验是一个重要的教学环节。
一般情况下学生能够重视实验环节,对于编写程序上机练习具有一定的积极性。
但是容易忽略实验的总结,忽略实验报告的撰写。
对于一名大学生必须严格训练分析总结能力、书面表达能力。
需要逐步培养书写科学实验报告以及科技论文的能力。
拿到一个题目,一般不要急于编程。
正确的方法是:首先理解问题,明确给定的条件和要求解决的问题,然后按照自顶向下,逐步求精,分而治之的策略,按照面向对象的程序设计思路,逐一地解决子问题。
2.课程设计的要求基于JavaFx画出如下所示可动态变化的时钟。
要求按‘start’按钮可启动时钟,按‘stop’按钮可让时钟暂停。
时钟初始时显示当前时间并开始动态变化。
在设计的过程中,需要用到awt组件和Swing容器与组件,布局管理器,事件处理,绘制图形,还运用到了类的继承,事件监听器和线程。
还有自己还没有掌握的2D绘制图形,以及绘制各指针及之间的关系。
为了完成自己的设计,必须API、教材以及相关的资料来解决这些尚未掌握的问题。
在实验一的图形基础上,再设置两个按钮,分别为“Start”和“Stop”按钮,控制时钟的运动和暂停,再通过事件函数来监听事件从而改变事件。
Java 设计报告书课程名称:JAVA语言程序设计设计题目:闹钟的设计与实现院系:计算机科学与信息工程系学生姓名:学号:专业班级:指导教师:许研2010 年12 月28 日目录一、题目描述 (1)二、设计思路 (1)三、运行结果 (5)四、源代码 (6)五、总结 (10)六、参考文献 (10)闹钟的设计与实现一、题目描述:结合JAVA图形界面的知识设计一个闹钟二、设计思路1、设计要求:编写闹钟钟程序,要求画出时钟面板,动态的显示当前时间,可设定或解除闹钟时间,并提供闹钟服务相应的文字提示功能与可以自己选择闹钟提示声音提示功能,并在闹钟设定的输入框中有简单的排错功能。
2、算法基本描述:本程序先是在框架中新建了一个容器,然后用GridLayout类对面板进行划分,程序引入java.util.Date来显示当前时间,并用一个永真循环,来对当前时间显示的更新,引入java.io.File来实现对文件的读写操作,程序设计了一个选择按钮,用来选择文件,并且声明只能选择,WAU、MID的文件,引入用java.applet.Applet 来播放音乐文件,用getText()函数获取输入的闹钟设定时间,并永真循环和当前的时间进行对比,若相等则播放音乐,若不相等则显示离目标设定时间的差距。
3、设计思想与内容1、画出类的UML简图Clock类:Clock类中的变量ri, shi, fen, miao, dangqian, guanji: JLabe lqueding, dakai: JButtonmusic, RI, SHI, FEN, MIAO: JTextFieldh = 0, f = 0, m = 0, r = 0 :intFo, foo: booleansoumd1: public AudioClipClock类中的函数public clock()public static void main(String agrs[])public void run()2、各方法功能描述列表Clock类方法功能Main()执行main函数Clock()Clock类的构造函数,用于对时钟界面的初始化Run()用于对时钟的动态显示的执行,并判断是否设定了闹钟时间,若当前时间与设定的时间相等则播放选定的音乐3、主要模块算法描述(1)当前动态时间的显示的设计与实现。
辽宁工业大学JA V A程序设计课程设计(论文)题目:时钟院(系):软件学院专业班级:软件技术班学号:学生姓名:指导教师:***教师职称:助教起止时间: 2009.12.1至2009.12.16程序设计专题(报告)任务及评语目录第1章课程设计的目的与要求 (1)1.1 课程设计目的 (1)1.2 课程设计的实验环境 (1)1.3 课程设计的预备知识 (1)1.4 课程设计要求 (1)第2章课程设计内容 (2)2.1课程设计主要内容 (2)2.2概要设计 (2)2.2.1自定义类说明 (2)2.3详细设计 (3)2.4测试分析 (16)2.4.1程序运行情况 (16)2.4.2程序异常处理 (16)第3章课程设计总结 (17)参考资料18第1章课程设计的目的与要求1.1 课程设计目的《JA V A程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。
实践教学环节是必不可少的一个重要环节。
本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JA V A程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。
1.2 课程设计的实验环境硬件要求能运行Windows 9.X操作系统的微机系统。
JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。
1.3 课程设计的预备知识熟悉JAVA语言及ECLIPSE开发工具。
1.4 课程设计要求按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JA V A程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。
java钟表课程设计一、课程目标知识目标:1. 学生能理解并掌握Java语言中面向对象编程的基本概念,如类、对象、属性、方法等;2. 学生能够运用Java语言编写一个简单的钟表程序,实现时间显示、时间更新等功能;3. 学生了解并掌握Java中事件处理机制,实现钟表界面的交互功能。
技能目标:1. 学生能够运用所学知识,独立完成一个具有基本功能的钟表程序设计;2. 学生通过实际编程操作,提高问题分析、程序设计、调试与优化的能力;3. 学生能够在团队协作中发挥自己的优势,与他人共同完成项目任务。
情感态度价值观目标:1. 学生通过课程学习,培养对编程的兴趣和热情,增强学习动力;2. 学生在课程实践中,体验编程解决问题的成就感,提高自信心;3. 学生在团队协作中,学会相互尊重、沟通与协作,培养良好的团队精神。
课程性质:本课程为实践性较强的课程,以项目驱动的方式进行教学,使学生能够将所学知识应用于实际项目中。
学生特点:本年级学生已经具备一定的Java编程基础,具有较强的学习能力和探究精神,对实际项目有较高的兴趣。
教学要求:结合学生特点,课程设计需注重实践操作,鼓励学生独立思考和团队协作,提高编程能力和解决问题的能力。
通过分解课程目标为具体学习成果,为后续教学设计和评估提供依据。
二、教学内容1. 面向对象编程基础:- 类与对象的概念及其关系- 方法定义与调用- 属性的定义与使用2. Java界面设计:- Java Swing图形用户界面- 常用组件的使用(如按钮、文本框等)- 布局管理器的应用3. 事件处理机制:- 事件的概念与分类- 事件监听器与事件处理方法- 常用事件处理机制的应用4. 钟表程序设计:- 钟表界面设计- 时间更新功能的实现- 闹钟功能的添加与实现5. 项目实践与团队协作:- 学生分组,明确项目任务与分工- 各组制定项目计划,进行项目实践- 项目成果展示与评价教学内容安排与进度:第一周:面向对象编程基础,类与对象的概念,方法的定义与调用第二周:Java界面设计,Swing组件的使用,布局管理器的应用第三周:事件处理机制,编写简单的事件处理程序第四周:钟表程序设计,实现时间显示与更新,添加闹钟功能第五周:项目实践与团队协作,完成项目任务,进行成果展示与评价教材章节关联:《Java程序设计》第四章:面向对象编程基础第五章:Java图形用户界面设计第六章:事件处理三、教学方法1. 讲授法:- 对于面向对象编程基础、Java界面设计、事件处理机制等理论知识,采用讲授法进行教学,为学生提供清晰的知识框架和概念体系。
led时钟课课程设计一、教学目标通过本节课的学习,学生能够了解LED时钟的基本原理和制作流程,掌握LED发光二极管的驱动方法和时钟电路的设计,培养学生的动手能力和创新能力。
1.掌握LED发光二极管的工作原理和驱动方法。
2.了解时钟电路的基本组成部分和工作原理。
3.掌握LED时钟的制作流程和调试方法。
4.能够独立完成LED时钟电路的设计和搭建。
5.能够对LED时钟进行调试和故障排查。
6.能够运用所学知识解决实际问题。
情感态度价值观目标:1.培养学生对电子科技的兴趣和热情,提高学生对科学研究的信心。
2.培养学生团队合作意识和动手实践能力。
3.培养学生爱护公共财物和环保意识。
二、教学内容本节课的教学内容主要包括LED发光二极管的驱动方法、时钟电路的设计原理以及LED时钟的制作流程。
1.LED发光二极管的驱动方法:通过讲解和实验,让学生了解LED发光二极管的工作原理,掌握驱动方法。
2.时钟电路的设计原理:讲解时钟电路的基本组成部分,如晶振、时钟芯片、分频器等,并通过示例分析让学生理解时钟电路的工作原理。
3.LED时钟的制作流程:讲解LED时钟的制作流程,包括电路设计、PCB布线、焊接、调试等步骤,并引导学生动手实践。
三、教学方法为了提高学生的学习兴趣和主动性,本节课将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
1.讲授法:用于讲解LED发光二极管的驱动方法和时钟电路的设计原理。
2.讨论法:在讲解完一个部分的内容后,学生进行讨论,分享自己的理解和心得。
3.案例分析法:通过分析实际案例,让学生了解LED时钟的实际应用和调试方法。
4.实验法:让学生动手实践,完成LED时钟的制作和调试,提高学生的动手能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用与LED时钟制作相关的教材,为学生提供理论知识的指导。
2.参考书:提供相关的参考书籍,供学生课后深入学习。
java时钟小程序课程设计一、课程目标知识目标:1. 理解Java编程语言中时间处理的基本概念;2. 掌握使用Java语言实现时钟小程序的核心语法,如线程控制、事件处理等;3. 学习Java中日期时间API的使用,如java.util.Calendar和java.time包;4. 了解界面设计中布局管理器的应用。
技能目标:1. 能够编写Java程序,实现一个具有基本计时功能的时钟小程序;2. 能够运用所学知识,对时钟小程序进行界面设计和优化;3. 学会使用调试工具,进行程序错误排查和修正;4. 培养问题解决和编程实践能力,能够独立完成时钟小程序的开发。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发创造力和探究精神;2. 增强学生的团队合作意识,培养在项目开发中相互协作的能力;3. 强化学生的程序逻辑思维,提高分析问题和解决问题的能力;4. 培养学生严谨的科学态度和良好的编程习惯。
本课程设计针对高年级学生,他们在前期课程中已具备Java语言基础,能够适应本课程的知识深度。
课程性质为实践性、综合性课程,要求学生将理论知识与实际操作相结合,通过完成时钟小程序的设计与实现,达到巩固知识、提升技能、培养情感态度价值观的目标。
通过具体学习成果的分解,教师可进行有针对性的教学设计和评估,确保课程目标的实现。
二、教学内容1. Java基本语法复习:变量声明与使用、数据类型、运算符、控制流程(条件语句、循环语句);2. 线程概念与使用:线程的创建、启动、同步,以及线程的生命周期;- 教材章节:第8章“多线程编程”;3. Java时间处理API介绍:java.util.Calendar类的使用,java.time包中LocalTime、LocalDate、LocalDateTime类的使用;- 教材章节:第11章“日期和时间处理”;4. 界面设计基础:Swing图形用户界面设计,布局管理器介绍及应用;- 教材章节:第14章“Swing用户界面设计”;5. 时钟小程序实现:设计并实现一个简单时钟界面,完成计时功能;- 结合教材实例,进行拓展教学;6. 程序调试与优化:使用调试工具进行程序错误查找,优化程序性能;- 教材章节:第16章“程序调试与优化”;7. 项目实践:小组合作,完成一个具有附加功能(如闹钟、计时器等)的时钟小程序开发。
攀枝花学院学生课程设计(论文)题目: LED时钟学生姓名:张奕学号: 201210802028 所在院(系):数学与计算机学院专业:信息与计算科学班级: 2012级信息与计算科学1班指导教师:吴建兵职称:讲师二O一四年六月十六日攀枝花学院教务处制攀枝花学院本科学生课程设计任务书题目时钟(LED方式)1、课程设计的目的通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。
2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)编写一个时钟(LED方式)程序,要求:(1)在屏幕上用文字显示日期(年、月、日、星期)与时间。
(2)时间显示要求能动态显示时、分、秒。
3、主要参考文献[1]朱福喜.《Java语言程序设计》(第二版).科学出版社[2]陈国君等.《Java程序设计基础》(第二版).清华大学出版社[3] Deitel.《Java大学基础教程》(第六版).电子工业出版社[4] MaryCampione.《Java语言导学》(第四版).机械工业出版社[5] Y.Daniel Liang.《Java语言程序设计基础篇》(第六版). 机械工业出版社[6] Kathy Sierra.《Head First Java》(第二版).东南大学出版社4、课程设计工作进度计划1、设计动员,布置任务,选题(1天)2、查阅资料,分析、讨论与设计(1天)3、编写程序,进行调试(4天)4、完成模块联调,进行测试(2天)5、成果验收,完成设计报告(2天)指导教师(签字)日期年月日教研室意见:年月日学生(签字):接受任务时间:年月日注:任务书由指导教师填写。
课程设计(论文)指导教师成绩评定表题目名称时钟(LED方式)评分项目分值得分评价内涵工作表现20% 01 学习态度 6 遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。
02 科学实践、调研7 通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。
摘要随着经济全球化的发展,推动生活节奏的加快,也给时间赋予了更重要的意义。
基于方便人们更好的掌握时间,我设计出了这个小时钟。
本时钟是一个基于Java语言设计而成的一个小程序,目的是显示日期和时间,并且能调准时钟。
整个程序从符合操作简便、界面友好、灵活使用的要求出发,完成调用、调整的全过程。
本课程设计报告介绍了时钟的构成,论述了目标功能模块;给出了时钟设计的步骤。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。
同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
关键字时钟,Java程序设计,面向对象,设计目录摘要..............................................................................................................................- 1 - 1前言..........................................................................................................................- 3 -1.1 课程设计目的 ....................................................................................................- 3 -1.2 课程设计的实验环境..........................................................................................- 3 -1.3 课程设计的预备知识..........................................................................................- 3 -1.4 课程设计要求 ....................................................................................................- 3 -2 可行性分析................................................................................................................- 4 -2.1 社会可行性........................................................................................................- 4 -2.2 市场可行性........................................................................................................- 4 -2.3 技术可行性........................................................................................................- 4 -2.4 经济可行性........................................................................................................- 4 -3 总体设计....................................................................................................................- 5 -3.1开发平台 ............................................................................................................- 5 -3.2时钟功能的概述..................................................................................................- 5 -3.3时钟数字显示 .....................................................................................................- 5 -3.3时钟指针显示 .....................................................................................................- 5 -3.4时钟的设置.........................................................................................................- 5 -4 代码设计....................................................................................................................- 6 -4.1 部分源码............................................................................................................- 6 -5 界面设计....................................................................................................................- 9 -5.1课程设计主要内容 ..............................................................................................- 9 -5.2概要设计 ............................................................................................................- 9 -5.2.1自定义类说明...........................................................................................- 9 -5.3表单设计 .......................................................................................................... - 10 -5.4 界面展示.......................................................................................................... - 11 -5.4.1日期的界面 ............................................................................................ - 11 -5.4.2 部分代码 ............................................................................................... - 11 -5.4.3 时间的界面............................................................................................ - 12 -5.4.4 部分代码 ............................................................................................... - 12 -5.4.5整体界面................................................................................................ - 14 - 6结束语....................................................................................................................... - 15 - 参考文献................................................................................................................ - 16 -攀枝花学院java课程设计前言1 前言1.1 课程设计目的《JAVA程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。
课程设计报告( 2012-- 2013年度第2学期)日历记事本专业 计算机科学与技术学生姓名 董文龙 班级 计算机116 学号1110704603 指导教师 徐秀芳 完成日期2013.7目录目录 (2)1 概述 (4)1.1课程设计目的 (4)1.2课程设计内容和要求 (4)2 系统需求分析 (5)2.1系统目标 (5)2.2主体功能 (5)2.3开发环境 (5)3 系统总体设计 (5)3.1系统的功能模块划分 (5)3.2系统流程图 (6)4系统详细设计 (6)4.1主窗口模块设计 (6)4.1.1 效果图 (6)4.1.2 类的主要成员变量和方法 (7)4.1.3 主要程序代码 (8)4.2日期模块设计 (19)4.2.1 效果图 (19)4.2.2 类的主要成员变量和方法 (19)4.2.3 主要程序代码 (20)4.3日历模块设计 (21)4.3.1 效果图 (21)4.3.2 类的主要成员变量和方法 (22)4.3.3 主要程序代码 (22)4.4记事本模块设计 (24)4.4.1 效果图 (24)4.4.2 类的主要成员变量和方法 (24)4.4.3 主要程序代码 (25)4.5图像模块设计 (34)4.5.1 效果图 (34)4.5.2 类的主要成员变量和方法 (34)4.5.3 主要程序代码 (35)4.6时钟模块设计 (36)4.6.1效果图 (36)4.6.2 类的主要成员变量和方法 (36)4.6.3主要程序代码 (37)5 代码调试 (41)6 软件发布 (42)7 小结 (42)参考文献 (44)日历记事本日历记事本1 概述1.1 课程设计目的(1)加深对《Java语言与面向对象技术》课程基础知识的理解,掌握Java语言面向对象程序设计的开发方法和步骤;(2)进一步理解面向对象程序设计的思想和方法,利用Java语言进行程序设计的能力;(3)课程设计将课本上的理论知识和实际应用相结合,锻炼学生发现问题、分析问题和解决问题的能力。
Java时钟小程序课课程设计一、教学目标本节课的学习目标包括以下三个方面:1.知识目标:使学生掌握Java编程语言的基本语法和操作,了解面向对象编程的基本概念,掌握使用Java编写简单的时钟小程序的方法。
2.技能目标:培养学生运用Java编程语言解决实际问题的能力,提高学生的编程思维和动手实践能力,使学生能够独立编写并调试简单的Java程序。
3.情感态度价值观目标:培养学生对计算机编程的兴趣和热情,增强学生自信心,培养学生的团队协作精神和自主学习能力。
通过对课程性质、学生特点和教学要求的分析,明确课程目标,将目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Java编程语言基本语法和操作:数据类型、变量、运算符、控制结构等。
2.面向对象编程概念:类、对象、封装、继承、多态等。
3.Java时钟小程序的编写:使用Java Swing或JavaFX库实现一个简单的图形界面时钟,通过编程实现时钟的运行和显示。
教学内容的选择和要确保科学性和系统性,制定详细的教学大纲,明确教学内容的安排和进度,指出教材的章节和列举内容。
三、教学方法为了激发学生的学习兴趣和主动性,本节课将采用以下几种教学方法:1.讲授法:讲解Java编程语言的基本语法和操作,面向对象编程概念等理论知识。
2.案例分析法:分析典型的Java程序案例,使学生更好地理解编程原理和方法。
3.实验法:引导学生动手实践,编写并调试Java时钟小程序,提高学生的编程能力。
通过多样化的教学方法,使学生在理论知识和实践操作中掌握Java编程技能。
四、教学资源本节课的教学资源包括以下几个方面:1.教材:选用权威、实用的Java编程教材,为学生提供系统的学习资料。
2.参考书:提供相关的Java编程参考书籍,丰富学生的知识储备。
3.多媒体资料:制作精美的PPT课件,直观地展示教学内容。
4.实验设备:为学生提供充足的计算机设备,确保每个学生都能动手实践。
led电子钟课程设计一、课程目标知识目标:1. 让学生理解电子时钟的基本工作原理,掌握LED显示技术的基本概念。
2. 使学生掌握电子时钟设计所需的数字电路知识,包括计时器、时钟信号发生器等。
3. 让学生了解并运用电子编程软件进行电子时钟程序设计。
技能目标:1. 培养学生运用所学知识设计并制作简单LED电子时钟的能力。
2. 培养学生动手实践能力,包括焊接、调试电子电路和编写程序。
3. 提高学生问题解决和团队协作能力,通过项目实践,学会分析问题、调试电路。
情感态度价值观目标:1. 培养学生对电子技术及创新实践的浓厚兴趣,激发学生学习主动性和积极性。
2. 培养学生严谨、细致、负责的科学态度,注重实验操作的安全性和环保意识。
3. 培养学生团队协作精神,学会尊重他人意见,共同完成项目任务。
本课程针对中学生设计,结合学生年龄特点和认知水平,以实践性、创新性为导向,注重培养学生的动手能力、创新思维和团队协作能力。
通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高学生的综合素养。
二、教学内容1. 电子时钟原理:讲解电子时钟的基本工作原理,包括计时器、时钟信号发生器、时钟显示等组成部分。
- 相关教材章节:第二章第三节“电子时钟原理及其设计”2. 数字电路基础:介绍与电子时钟设计相关的数字电路知识,如门电路、触发器、计数器等。
- 相关教材章节:第一章“数字电路基础”3. LED显示技术:讲解LED显示技术的基本原理,包括LED数码管的结构、工作原理和驱动方式。
- 相关教材章节:第三章第一节“LED显示技术及其应用”4. 电子编程软件应用:介绍电子编程软件的使用方法,如Arduino、Keil等,学会编写电子时钟程序。
- 相关教材章节:第四章“电子编程软件及其应用”5. 实践操作:指导学生动手制作LED电子时钟,包括焊接、调试电子电路,编写程序,实现时钟功能。
- 相关教材章节:第五章“实践操作与项目制作”教学内容安排和进度:第一周:电子时钟原理学习,数字电路基础介绍第二周:LED显示技术学习,电子编程软件应用讲解第三周:实践操作指导,分组进行项目制作第四周:项目调试、优化,总结评价教学内容注重科学性和系统性,结合教材章节,循序渐进地传授知识,确保学生能够掌握电子时钟设计的全过程。
Java程序课程设计任务书钟表的设计与开发1、主要内容:创建一个钟表。
借助swing类和接口内部类的实现,在本程序中以实现Runnable接口内部类的形式创建多线程对象。
Runnable接口只定义了一个run()方法,所以调用start和sleep()方法时,必须创建Thread实例化对象。
Interrupt()方法的作用是中断线程。
其作用方式是:多线程对象.interrupt()。
2、具体要求(包括技术要求等):系统的功能要求:1.可以记录时间的钟表。
2.熟悉JAVA中swing的组件运用,基本工具的熟练掌握。
学习并掌握以下技术:Java等。
熟练使用以下开发工具:JCreator + JDK 1.6.0_02 等实现系统上述的功能。
3、进度安排:12月28日~ 12月29日:课程设计选题,查找参考资料12月29日~ 1月2日:完成程序代码的编写1月2日~ 1月3日:系统测试与完善1月4日~ 1月5日:完成课程设计报告,准备答辩4、主要参考文献[1]张帆.Java范例开发大全[M].北京:清华大学出版社,2010:0-831.[2]耿祥义,张跃平.Java大学实用教程[M].北京电子工业出版社,2008:213-216摘要随着经济全球化的发展,推动生活节奏的加快,也给时间赋予了更重要的意义。
基于方便人们更好的掌握时间,我们小组设计出了这个小时钟。
本时钟是一个基于Java语言设计而成的一个小程序,目的是显示时间,并且能调准时钟。
整个程序从符合操作简便、界面友好、灵活使用的要求出发,完成调用、调整的全过程。
本课程设计报告介绍了时钟的构成,论述了目标功能模块;给出了时钟设计的步骤,程序主要所用到的Swing组件以及graphics方法。
关键词:时钟,目录摘要 (II)目录 ......................................................................................................................................................... I II 第1章引言 .. (1)1.1课程设计内容 (1)1.2任务分工 (1)第2章时钟的设计 (2)2.1时钟功能的概述 (2)2.1.1时钟数字显示 (2)2.1.2时钟指针显示 (2)2.1.2时钟的设置 (2)第3章时钟的具体实现 (3)3.1界面设计 (3)3.1.1程序流程图 (3)3.1.1显示数字时钟效果 (3)3.1.2显示指针时钟完全效果图 (4)3.1.3设置窗口效果图 (6)第4章结束语 (8)致谢 (8)附录源代码 (9)第1章引言1.1课程设计内容本时钟编写时用到了Java中的Swing组件以及graphics方法,并具有下列处理功能(1)显示时钟功能显示钟表时间和数字时间(2)状态的可切换通过调整框图的大小,可以在数字时钟和指针时钟之间进行切换。
led 电子钟课程设计一、课程目标知识目标:1. 学生能够理解LED电子钟的基本工作原理,掌握电子钟的核心组件及其功能。
2. 学生能够运用所学知识,分析并设计简单的电子时钟电路。
3. 学生了解数字时钟的显示原理,掌握常见时钟显示格式的转换方法。
技能目标:1. 学生能够运用焊接工具进行电子元件的安装与焊接,提高动手实践能力。
2. 学生能够运用编程软件,编写简单的程序,实现对LED电子钟的显示控制。
3. 学生能够通过团队合作,共同完成电子钟的制作,培养团队协作和沟通能力。
情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发创新精神,提高科学素养。
2. 学生在实践过程中,学会发现问题、解决问题,培养自主学习能力和探究精神。
3. 学生通过制作LED电子钟,认识到科技与生活的紧密联系,增强环保意识和节能意识。
分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能够独立完成电子元件的安装与焊接,制作出功能齐全的LED电子钟。
2. 学生能够运用所学编程知识,实现LED电子钟的时、分、秒显示,并具备调整时间的功能。
3. 学生通过课程学习,能够明确电子技术在日常生活中的应用,培养节能环保意识。
二、教学内容根据课程目标,教学内容分为以下三个部分:1. 电子钟原理及组件- 了解电子钟的基本工作原理,重点学习时钟电路、振荡器、分频器等核心组件的作用。
- 学习电子元件的识别与使用,如LED灯、电阻、电容、二极管等。
- 教材章节:第三章《电子技术基础》第四节《振荡器与分频器》。
2. 电子钟制作与焊接- 学习焊接工具的使用,掌握焊接技巧,进行电子元件的安装与焊接。
- 学习电路板的绘制与制作,掌握电路布线原则。
- 教材章节:第四章《焊接技术》。
3. 编程与显示控制- 学习简易编程知识,掌握时钟显示程序的编写方法。
- 实践操作,运用编程软件,实现对电子钟时、分、秒的显示控制。
- 教材章节:第五章《数字显示技术》第二节《LED显示技术》。
JAVA时钟日历报告import java.awt.BorderLayout;import java.awt.Color;import java.awt.Graphics;import java.util.Date;import java.awt.event.*;import javax.swing.*;import javax.swing.border.TitledBorder;import java.util.*;import javax.swing.JPanel;import javax.swing.JTextField;import java.awt.GridLayout;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.SwingUtilities;import javax.swing.UIManager;publicclass Test extends JFrame{privatestaticfinallong serialVersionUID = 1L;//测试public Test(){Clock clock =new Clock();Calendercal = new Calender();@SuppressWarnings("unused")JPanel jp2 = new JPanel();setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(560,300);setVisible(true);this.setContentPane(clock);this.getContentPane().add(cal,BorderLayout.WEST); setResizable(false);}//////////////////////////////////////画时钟publicclass DrawClock extends JPanel implements Runnableprivatestaticfinallong serialVersionUID = 1L;Thread newThread; //线程publicint RADIUS = 80; //时钟的半径//设置时钟位置publicint centerX = 150; //设置时钟x轴publicint centerY = 120; //设置时钟y轴publicint hr, min, sec; //小时,分钟,秒publicint[] xPoint = newint[4]; //指针的4个坐标publicint[] yPoint = newint[4];publicdouble hrAlpha, minAlpha, secAlpha, theta;private JTextField timeZone;//启动时钟publicvoid start(){newThread = new Thread(this);newThread.start(); //启动线程}//终止线程publicvoid stop(){newThread = null;}@SuppressWarnings("deprecation")publicvoid paint(Graphics g){super.paint(g);//画出时钟刻度double minuteAlpha = Math.PI/30.0;int count = 0;for(double alpha=0; alpha<2.0*Math.PI; alpha+=minuteAlpha) {int tX = (int)(centerX+RADIUS*0.9*Math.sin(alpha));int tY = (int)(centerY-RADIUS*0.9*Math.cos(alpha));if(count%5 == 0){g.setColor(Color.CYAN);g.fill3DRect(tX, tY, 3, 3, false);{int m = count /15;switch(m){case 1: g.drawString("3", centerX+RADIUS-18, centerY+5);break;case 2: g.drawString("6", centerX-3, centerY+RADIUS-10);break;case 3: g.drawString("9", centerX-RADIUS+11,centerY+6);break;default: g.drawString("12", centerX-5, centerY-RADIUS+22); }}}else{g.setColor(Color.DARK_GRAY);g.fill3DRect(tX, tY, 2, 2, false);}count++;}//画出时钟时针g.setColor(Color.gray); // 定义颜色drawPointer(g, centerX+2, centerY+2, (int)(RADIUS*0.75), hrAlpha);g.setColor(Color.CYAN); // 定义颜色drawPointer(g, centerX, centerY, (int)(RADIUS*0.75), hrAlpha);//画出分针g.setColor(Color.gray); // 定义颜色drawPointer(g, centerX+2, centerY+2, (int)(RADIUS*0.83), minAlpha);g.setColor(Color.CYAN); // 定义颜色drawPointer(g, centerX, centerY, (int)(RADIUS*0.83), minAlpha);//画出秒针g.setColor(Color.DARK_GRAY); //定义颜色g.drawLine(centerX,centerY,(int)(centerX+(int)(RADIUS*0.79)*Math.sin(secAlpha)),(int)(centerY-(int)(RADIUS*0.79)*Math.cos(secAlpha)));setBorder(new TitledBorder("时间"));setBackground(Color.white); // 定义颜色g.drawRect(85, 210, 130, 20);g.setColor(Color.WHITE);g.setColor(Color.DARK_GRAY);g.drawString(timeNow.toLocaleString(), 100,225);}public Date getDate(){Date timeNow = new Date();return timeNow;}// 刷新图层publicvoid update(Graphics g){paint(g);}// 画出一个帧的图像publicvoid run() {while(newThread != null){repaint();try{Thread.sleep(800);} catch(InterruptedException E) {}Date timeNow = new Date();@SuppressWarnings("deprecation")int hours = timeNow.getHours(); //这里不知道为什么会画横线的@SuppressWarnings("deprecation")int minutes = timeNow.getMinutes(); //这里不知道为什么会画横线的@SuppressWarnings("deprecation")int seconds = timeNow.getSeconds(); //这里不知道为什么会画横线的hr = hours;min = minutes;sec = seconds;theta = Math.PI/6.0/20.0;hrAlpha = (double)(hr*3600 + min*60 + sec)minAlpha = (double)(min*60 + sec)/3600.0*2.0*Math.PI; secAlpha = (double)sec/60.0 * 2.0*Math.PI;}}privatevoid drawPointer(Graphics g, int x, int y,int len, double theta){xPoint[0] = (int)(x+len*0.3*Math.sin(theta-Math.PI)); yPoint[0] = (int)(y-len*0.3*Math.cos(theta-Math.PI)); xPoint[1] = (int)(xPoint[0]+len*0.3*Math.sin(theta-(double)(10.0/180)*Math.PI)); yPoint[1] = (int)(yPoint[0]-len*0.3*Math.cos(theta-(double)(10.0/180)*Math.PI)); xPoint[2] = (int)(xPoint[0]+len * Math.sin(theta)); yPoint[2] = (int)(yPoint[0]-len * Math.cos(theta)); xPoint[3] = (int)(xPoint[0]+len*0.3*Math.sin(theta+(double)(10.0/180)*Math.PI)); yPoint[3] = (int)(yPoint[0]-len*0.3*Math.cos(theta+(double)(10.0/180)*Math.PI));g.fillPolygon(xPoint, yPoint, 4);}public JTextFieldgetTimeZone() {return timeZone;}publicvoid setTimeZone(JTextFieldtimeZone) {this.timeZone = timeZone;}}////////////////////////////////////时钟publicclass Clock extends JPanel{privatestaticfinallong serialVersionUID = 1L;private UIManager.LookAndFeelInfo looks[];private DrawClock clock ;@SuppressWarnings("unused")private JPanel pane_clock ;public Clock(){super();looks = UIManager.getInstalledLookAndFeels(); changeTheLookAndFeel(2);clock = new DrawClock();clock.start();this.setBackground(Color.GRAY);this.setLayout(new BorderLayout());this.setOpaque(false);this.add(clock);this.setBorder(new TitledBorder("时间日期"));this.setBorder(new TitledBorder("时区"));this.setBorder(new TitledBorder("Internet时间"));setSize( 300, 300 );setVisible(true );}privatevoid changeTheLookAndFeel(int i){try{UIManager.setLookAndFeel(looks[i].getClassName()); SwingUtilities.updateComponentTreeUI(this);}catch(Exception exception){exception.printStackTrace();}}}/////////////////////////////////////设计日历publicclass Calender extends JPanel implements ActionListener {privatestaticfinallong serialVersionUID = 1L;publicfinal String HOUR_OF_DAY = null;//定义@SuppressWarnings("rawtypes")JComboBox Month = new JComboBox();@SuppressWarnings("rawtypes")JComboBox Year = new JComboBox();JLabel Month_l = new JLabel("");JLabel Year_l = new JLabel("");Date now_date = new Date();JLabel[] Label_day = new JLabel[49];@SuppressWarnings("deprecation")int now_year = now_date.getYear() + 1900;@SuppressWarnings("deprecation")int now_month = now_date.getMonth();boolean bool = false;String year_int = null;int month_int;JPanel pane_ym = new JPanel();JPanel pane_day = new JPanel();@SuppressWarnings("unchecked")public Calender(){super();//设定年月for (int i = now_year - 10; i<= now_year + 20; i++) {Year.addItem(i + "");}for (int i = 1; i< 13; i++){Month.addItem(i + "");}Year.setSelectedIndex(10);pane_ym.add(new JLabel(" "));pane_ym.add(Year);pane_ym.add(Year_l);Month.setSelectedIndex(now_month);pane_ym.add(Month);pane_ym.add(Month_l);pane_ym.add(new JLabel(" "));Month.addActionListener(this);Year.addActionListener(this);//初始化日期并绘制for (int i = 0; i< 49; i++) {Label_day[i] = new JLabel(" ");pane_day.add(Label_day[i]);}this.setDay();this.setLayout(new BorderLayout());this.add(pane_day, BorderLayout.CENTER);this.add(pane_ym, BorderLayout.NORTH);this.setSize(100,200);this.setBorder(new TitledBorder("日期(D)"));setSize(300,300);}@SuppressWarnings("deprecation")void setDay(){if (bool){year_int = now_year + "";month_int = now_month;}else{year_int = Year.getSelectedItem().toString();month_int = Month.getSelectedIndex();}int year_sel = Integer.parseInt(year_int) - 1900; //获得年份值//@SuppressWarnings("deprecation")Date dt = new Date(year_sel, month_int, 1); //构造一个日期GregorianCalendarcal = new GregorianCalendar(); //创建一个Calendar实例cal.setTime(dt);String week[] = { "日", "一","二", "三", "四", "五", "六" };int day = 0;int day_week = 0;for (int i = 0; i< 7; i++) {Label_day[i].setText(week[i]);}//月份if (month_int == 0||month_int == 2 ||month_int == 4 ||month_int == 6 ||month_int == 9 ||month_int == 11){day = 31;elseif (month_int == 3 ||month_int == 5 || month_int == 7|| month_int == 8 ||month_int == 10|| month_int == 1){day = 30;}else{if (cal.isLeapYear(year_sel)){day = 29;}else{day = 28;}}day_week = 7 + dt.getDay();int count = 1;for (int i = day_week; i<day_week + day; count++, i++){if (i % 7 == 0 ||i == 13||i == 20||i == 27||i == 48 ||i == 34 ||i == 41){if (i == day_week + now_date.getDate() - 1){Label_day[i].setForeground(Color.blue);Label_day[i].setText(count + "");}else{Label_day[i].setForeground(Color.red);Label_day[i].setText(count + "");}}else{if (i == day_week + now_date.getDate() - 1){Label_day[i].setForeground(Color.blue);Label_day[i].setText(count + "");}else{Label_day[i].setForeground(Color.black);Label_day[i].setText(count + "");}}if (day_week == 0){for (int i = day; i< 49; i++){Label_day[i].setText(" ");}}else{for (int i = 7; i<day_week; i++){Label_day[i].setText(" ");}for (int i = day_week + day; i< 49; i++){Label_day[i].setText(" ");}}}publicvoid actionPerformed(ActionEvent e) {if (e.getSource() == Year || e.getSource() == Month) { bool = false;this.setDay();}}}//////////////////////////////////publicstaticvoid main(String[] args){try{Test frame = new Test();frame.setTitle("日历");}catch (Exception e){System.out.print("run error!");}}}。
攀枝花学院学生课程设计(论文)题目: LED时钟学生姓名:张奕学号: 201210802028 所在院(系):数学与计算机学院专业:信息与计算科学班级: 2012级信息与计算科学1班指导教师:吴建兵职称:讲师二O一四年六月十六日攀枝花学院教务处制攀枝花学院本科学生课程设计任务书题目时钟(LED方式)1、课程设计的目的通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。
2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)编写一个时钟(LED方式)程序,要求:(1)在屏幕上用文字显示日期(年、月、日、星期)与时间。
(2)时间显示要求能动态显示时、分、秒。
3、主要参考文献[1]朱福喜.《Java语言程序设计》(第二版).科学出版社[2]陈国君等.《Java程序设计基础》(第二版).清华大学出版社[3] Deitel.《Java大学基础教程》(第六版).电子工业出版社[4] MaryCampione.《Java语言导学》(第四版).机械工业出版社[5] Y.Daniel Liang.《Java语言程序设计基础篇》(第六版). 机械工业出版社[6] Kathy Sierra.《Head First Java》(第二版).东南大学出版社4、课程设计工作进度计划1、设计动员,布置任务,选题(1天)2、查阅资料,分析、讨论与设计(1天)3、编写程序,进行调试(4天)4、完成模块联调,进行测试(2天)5、成果验收,完成设计报告(2天)指导教师(签字)日期年月日教研室意见:年月日学生(签字):接受任务时间:年月日注:任务书由指导教师填写。
课程设计(论文)指导教师成绩评定表题目名称时钟(LED方式)评分项目分值得分评价内涵工作表现20% 01 学习态度 6 遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。
02 科学实践、调研7 通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。
03 课题工作量7 按期圆满完成规定的任务,工作量饱满。
能力水平35% 04 综合运用知识的能力10能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。
05 应用文献的能力 5能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识的能力。
06设计(实验)能力,方案的设计能力5能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。
07 计算及计算机应用能力 5 具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。
08对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)10 具有较强的数据收集、分析、处理、综合的能力。
成果质量45% 09插图(或图纸)质量、篇幅、设计(论文)规范化程度5 符合本专业相关规范或规定要求;规范化符合本文件第五条要求。
10 设计说明书(论文)质量30 综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学。
11 创新10 对前人工作有改进或突破,或有独特见解。
成绩指导教师评语指导教师签名:年月日摘要随着社会的发展,现在的人过着快节奏的生活。
时钟的作用就是不停地提醒人们时间去合理的安排自己的生活。
LED屏的时钟的显示更加直接明了,一目了然。
本时钟是基于Java开发的一个LED时钟。
其功能是能够显示现在的时间,还有年月日。
本时钟操作简便,界面干净、简洁。
本课程设计报告介绍了时钟的构成,论述了目标功能模块;给出了时钟设计的步骤。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法。
同时培养学生进行分析问题、解决问题的能力.有助于我们在学习Java 程序设计者们语言是能够活学活用。
关键字:时钟,LED,Java目录摘要................................................................................................................................ I 1 前言. (1)1.1背景 (1)1.2目的 (1)1.3实验要求 (1)2 相关技术分析 (2)2.1需求分析 (2)2.1.1需求分析 (2)2.1.2需求环境 (2)2.1.3功能描述 (2)2.2技术分析及原理 (2)2.2.1技术分析 (2)2.2.2原理 (2)3 设计与实现 (3)3.1时钟的功能概述 (3)3.2时钟的数字显示 (3)3.3时钟的具体实现 (3)4 代码实现 (4)4.1模块实现 (4)4.1.1显示窗口设计模块 (4)4.1.2时间设置模块 (5)5 测试与运行 (6)6 结束语 (7)7 参考文献 (8)8 附录 (9)1 前言1.1背景时钟的出现让现在的人们有了准确的时间观念,而不再是以前那样只能通过观察太阳,看沙漏来了解时间。
随着科技的进步,时钟现在不只是只有我们常见的时钟,LED时钟因为其简洁明了,使用寿命长而获得了广大人民的喜爱。
1.2目的本次的实验是要求学生在Java的平台下写一个写一个LED时钟的小程序。
主要是为了锻炼学生的编程能力,看是否能够将自己所学的知识融会贯通,能灵活的运用到所写的程序中去。
旨在培养学生的动手能力和综合能力,为学生打下牢实的基础,能够在Java编程方面取得更大的成绩。
1.3实验要求按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。
同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
2 相关技术分析2.1需求分析2.1.1需求分析现在钟表的市场还是很大的特别是在日益忙碌的今天,有一块手表提示人们的生活还是很不错的。
而LED因其简洁的屏幕获得了许多年轻人的喜爱。
除此之外,LED时钟还有这价格低廉,使用方便,寿命时间长的特点。
因此,我觉得LED时钟的市场还是挺大的。
本次课程设计使用的Java代码比较简单,所以使用的价格也相对更便宜,用户更容易接受。
2.1.2需求环境本次课程设计需求的环境配置如下:①硬件配置:安装了JDK的PC机一台;②软件要求:windows7/Eclipse2.1.3功能描述(1)在屏幕上用文字显示日期(年、月、日、星期)与时间;(2)时间显示要求能动态显示时、分、秒。
2.2技术分析及原理2.2.1技术分析用Java来实现时钟的功能并不是一件难的事儿,相对比较简单,所以对程序员的要求不是很高,都可以编写。
本次实验设计主要运用了JFram技术来实现窗口的运行。
2.2.2原理本次试验写了三个方法,分别是JFram,led,updateDateTime。
它们在整个程序中分别实现了一下功能:写一个能够显示的对话框作载体;主要是设计时间和日期的格式,还有显示时间和日期的方法;将时间和日期进行初始化,本实验将机器的时间赋给程序就不需要再重新去设置时间了。
3 设计与实现3.1时钟的功能概述本次课程设计的LED时钟具有能够显示时间的功能,还能够在动态的显示时间的同时在屏幕上显示日期。
这个可以在提供时间的同时还能够提供日期的显示更加人性化。
3.2时钟的数字显示由于本次实验是LED时钟,所以采用的是通过数字和汉字来显示具体的时间和具体的日期,简洁明了。
3.3时钟的具体实现本次实验是在java的基础之上来写代码的。
通过java平台,实现了LED 时钟的具体显示。
在本程序中我主要设计了两个模块。
分别是时间格式设计模块,时间更新模块。
在时间设计模块中,借用了JFram来写一个能够承载时间显示的显示窗口,分别创建了Jlable实例来表示准确时间和日期。
然后对时间和日期进行了格式化,显示出自己想要的格式。
然后再将时间和日期加载到显示框中。
显示框需要我们对其的大小进行初始化。
由于显示窗口时隐藏的,所以需要借用setVisble()方法将窗口显示出来。
在时间更新模块中,我使用了Thread这个类,它是程序中执行的线程。
它可以使时间和日期同时显示在我们所编写的显示框中。
我们将赋给时钟的值初始化为机器上的时间,这样的话用户就可以减少更新时间的麻烦,方便简洁4 代码实现4.1模块实现本程序分为两个模块来实现对时间的显示。
第一个模块主要是对时间显示窗口的设计。
通过JFrame来实现整个程序的窗口设计。
第二个模块则是对时间的设置。
在本实验中,没有实现用户自己调节时间的功能,而是作者直接给程序赋值,添加的是网络时间,比较准确,无需用户自己去更改时间,省去了很多麻烦。
4.1.1显示窗口设计模块在此模块使用JFrame创建了显示窗口,并且设置了时间和日期的格式,还有窗口的大小。
以下是实现此模块的代码://设置日期的格式DateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日");//设置时间的格式为24小时制DateFormat timeFormat = new SimpleDateFormat("H:m:s ");//创建JLable实例JLabel lblDate = new JLabel();JLabel lblTime = new JLabel();public LED() {//JLable实例的文本居中显示lblDate.setHorizontalAlignment(SwingConstants.CENTER);lblTime.setHorizontalAlignment(SwingConstants.CENTER);//设置JPanel的格式是两行一列JPanel jpanel = new JPanel(new GridLayout(2, 1));jpanel.add(lblDate); //加入时间到窗口jpanel.add(lblTime); //加入日期到窗口setSize(400, 300); //设置窗口的大小this.getContentPane().add(jpanel);}4.1.2时间设置模块在这个模块设置时钟准确的时间和日期,通过代码的实现,可以将网络的值赋给程序做初始化的时间值。