- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《java程序规划b》课程设计
《Java程序设计B》课程设计
——试验报告
专业: 软件工程
年级:
班级:
学号:
姓名:
第一章 设计要求 3
1.1完成一个与Windows日历(Calendar)界面基本一致的应用程序(Application). 3
1.2要求该应用程序(Application)的功能和Windows的日历程序功能基本一致。 4
第二章 设计思想 4
2.1 总体设计 4
2.2 界面设计 4
2.3 功能设计 6
第三章 关键算法介绍 6
3.1多线程时钟 6
3.2动态时区图片滚动 8
3.3 与Internet国际时间服务器同步 8
3.4 使用JNI技术实现设置本地系统时间 10
第四章 详细设计 12
4.1系统详细设计类图 12
4.2 应用程序各个类的详细设计 12
第五章 收获与心得 31
设计要求
1.1完成一个与Windows日历(Calendar)界面基本一致的应用程序(Application).
界面如下所示:
1.2要求该应用程序(Application)的功能和Windows的日历程序功能基本一致。
具体功能包括:
查看当前年月日和时间,可以修改系统的年,可以修改系统的月,可以修改系统的日,可以和Internet国际时间服务器进行时间同步。
设计思想
2.1 总体设计
本次实验中用Java实现的Calendar具有跨平台运行能力,并且具有非常友好和实用的界面,同时所有功能都可以在多个平台上使用。
实验中,该JAVA应用程序完全使用了SWING开发,可以获得更好的程序运行性能,特别是在JDK6.0环境下,程序运行性能和本地程序运行性能达到一致。同时,在应用程序界面风格方面,使用SWING开发的JAVA应用程序,具有更美观的界面;并且可以有多个风格让用户任意选择。本次实验中开发的JAVA版Calendar的界面风格始终保持和本地系统完全一致。
2.2 界面设计
由于本次实验中要求开发的Calendar界面布局相对非常复杂,不紧需要使用JAVA五个主要的布局管理器里如:BorderLayout(), FlowLayout()等,同时还需要使用JtabbedPane等可以方便任意切换的组件,特别地,在显示月历的时候,使用了Jtable和其相关组件;同时,还需要大量的Jpanel贴在JtabbedPane分层面版里,最后调节好组件的的相对位置就完成了应用程序的布局。
完成后的应用程序界面如下:
2.3 功能设计
实验中,功能需求设计都是按照windows平台自带的日历程序功能来实现的,包含了windows平台日历程序的所有功能。包括了查看当前年月日和时间,可以修改系统的年,可以修改系统的月,可以修改系统的日,可以和Internet国际时间服务器进行时间同步。这些功能通过JAVA实现后,最后通过jar命令将该应用程序打包成独立运行的jar文件,所以,该应用程序可以在多个平台直接双击运行,无须修改,无须从命令行启动运行。
关键算法介绍
3.1多线程时钟
算法的详细介绍参看如下源代码:
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
g2.setColor(getBackground());//消除原有图象
g2.setColor(SystemColor.controlLtHighlight);
g2.fillRect(0, 0, 160, 130);
g2.setColor(SystemColor.controlHighlight);
g2.fill3DRect(80, 65, 2, 2, false);//时钟中心
g2.setColor(Color.green);
for (int i = 0; i < 60; i++)
{
double cos = Math.cos((i * 3.14f) / 30);
double sin = Math.sin((i * 3.14f) / 30);
if (i % 5 == 0)//正点用不同色显示
{
g2.setColor(Color.blu
您可能关注的文档
- 2007年4月自考《高级语言程序规划》模拟题.doc
- 《autocad工程绘图与实训》课题 复习指导.doc
- directx课题性质与目标.doc
- 2003年度网络规划师上午试题.doc
- ups针对电机类负载的适应性规划.doc
- “汽车电控专题实验”课题教学大纲.doc
- 《体育游戏》课题说明书.doc
- 《cad制图基础》结合新考纲下课题教学改革的探索.doc
- 《mapgis应用》课题教学大纲.doc
- 《光学》课题教学大纲.doc
- 2024年03月山东济宁北湖省级旅游度假区教育系统校园招考聘用60人(山东师范大学站)笔试参考题库附带答案详解.docx
- 黄鹤楼阎伯理市公开课一等奖市赛课金奖课件.pptx
- 黄鹤楼阎伯理2市公开课一等奖市赛课金奖课件.pptx
- 黄鹤楼送孟浩然之广陵教学省公开课一等奖全国示范课微课金奖PPT课件.pptx
- 高考高考生物复习第四章种群和群落第三十七课时第12节种群的特征种群数量的变化实验-探究培养液中酵母菌.pptx
- 齐桓晋文之事复习市公开课一等奖省赛课微课金奖PPT课件.pptx
- 高高三一轮复习经济生活第十课省公开课金奖全国赛课一等奖微课获奖PPT课件.pptx
- 高速加工习题及复习市公开课一等奖省赛课微课金奖PPT课件.pptx
- 鼓楼区屏西小学安全法制教育1省公开课金奖全国赛课一等奖微课获奖PPT课件.pptx
- 部编版九年级下册词语表默写练习(带答案).pdf
文档评论(0)