JAVA课程设计 时钟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
辽宁工业大学
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程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
第2章课程设计内容
2.1课程设计主要内容
我设计的时钟有的界面良好,比较简洁美观,程序有很强的实用性,实现程序与电脑的时间的同步。可以显示时钟,也可以显示分针秒针,并可以在相应位置调整时间。而且初始运行会自动与电脑的时间校对,一般默认为同步,但还可以自己再次调节,提高了实用性。
本系统共包括1个java源文件。1、Clock源文件是本程序的主函数其作用是初始化棋盘。2、setCurrentTime源文件实现电脑设置时间。3、paintHourPointer源文件为时针.4、paintSecondPointer源文件实现人与电脑设置秒针.5、paintMinuteDot源文件人与电脑设置分针.
2.2概要设计
2.2.1自定义类说明
**********************************************************
* 类名: Clock *
* 作用: 自定义主类,对鼠标拖拽的初始界面进行声明*
* 继承的父类: JComponent类*
* 实现的接口: 没有*
**********************************************************
表1-成员变量表
表2-方法表
2.3详细设计
import java.awt.*;
import java.awt.geom.Ellipse2D;
import java.awt.geom.GeneralPath;
import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;
import java.util.Calendar;
import java.util.Date;
import javax.swing.BorderFactory;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.UIManager;
public class Clock extends JComponent
{
private static final Color INTEGRAL_COLOR = new Color(0, 128, 128);
private int radius;
private Calendar currentTime = Calendar.getInstance();
private double s = 0.03;
public Clock(int radius)
{
this.radius = radius;
}
public void setCurrentTime(Date time) //设置当前时间
{
this.currentTime.setTime(time);
}
public void setCurrentTime(long millis)
{
this.currentTime.setTimeInMillis(millis);
}
public Dimension getPreferredSize()
{
Insets insets = getInsets();
int r = (int) (radius == -1 ? 0 : radius*(1+s))+1;
return new Dimension(r * 2 + insets.left + insets.right,r * 2 + insets.top + insets.bottom); //返回一个指定宽、高的Dimension
}
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,