JAVA课程设计钟表(含代码)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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)状态的可切换
通过调整框图的大小,可以在数字时钟和指针时钟之间进行切换。
(3)可随时更改时钟时间
可以通过左下方的设置时间,即可更改显示时间及日历。
1.2 任务分工
第2章时钟的设计
2.1时钟功能的概述
本时钟不但可以显示数字时钟和钟表时钟,还可以通过调整框图的大小,可以在数字时钟和指针时钟之间进行切换。
2.1.1时钟数字显示
运行程序后,可以直接看到数字型的时钟
2.1.2时钟指针显示
由于打开程序框的框图太小,无法清晰显示指针,我们将指针放在大框图下显示
2.1.2时钟的设置
本程序可以通过点击左下标的设置键进行调整校对时钟,同时还可以显示日历项
第3章时钟的具体实现3.1界面设计
界面设计中有用到swing组件的Button,
3.1.1程序流程图
开始
Main()
Clock()
repaint(
)
paint()
drawclock()
3.1.1显示数字时钟效果
部分代码:
//在窗体上显示时间
String st;
if(nowh<10) st="0"+nowh;else st=""+nowh;
if(nows%2==0) st+=" ";else st+=":";
if(nowm<10) st+="0"+nowm;else st+=nowm;
g.setColor(getBackground());
g.fillRect(L,T,120,100);
g.setFont(new Font("Digital",Font.PLAIN,44));
g.setColor(new Color(0,255,0,55));
g.drawString("88:88",L+15,T+57);
g.setColor(Color.white);
g.drawString(st,L+15,T+57);
//在窗体显示秒数
3.1.2显示指针时钟完全效果图
部分代码:
//绘制图像
public void paint(Graphics g){
//参数定义区
Graphics2D g2D = (Graphics2D)g;
Insets insets = getInsets();
int L = insets.left/2,T = insets.top/2;//L和T分别是窗口边缘宽度的一半
h = getSize().height;w = getSize().width;//h为窗口高度
g2D.setColor(Color.white);//设置前景色为白色
r=h/2-L-T-5;//计算半径r的值
x0=130+r-5+L;//计算圆心坐标
y0=h/2+T-L;
int fs;
//调整窗口大小使合适
if(h<100) h=100;
this.setSize(x0+r+2*L+5,h);