JAVA课程设计 - 闹钟的设计与实现 11计科本01班 张慧

2019-01-19 11:05

西 安 思 源 学 院

Java 课程设计报告

课程名称: JAVA语言程序设计 设计题目: 简单小闹钟的设计与实现 学 院: 电子信息工程学院 专业班级: 计算机科学与技术统本01班 学 号 : 111102020103 姓 名: 张慧 小组成员 : 谢莉萍

时 间 : 2013年6月29日

- 1 -

目 录

一、项目设计

1.1设计题目 .................................................. 2 1.2设计思路 .................................................. 2 1.3设计内容………………………………………………………………… 2

1.3.1 Clock类的UML简图…………………………………………………2 1.3.2 各方法功能描述列表……………………………………………… 2 二、算法描述

2.1 基本算法描述 …………………………………………………………3 2.2 主要模块算法描述 ……………………………………………………3 2.2.1当前动态时间的显示的设计与实现………………………………4 2.2.2闹钟功能的实现 ………………………………………………… 4

2.2.3闹铃功能的实现 ………………………………………………… 5 三、程序源代码 ................................................... 6 四、运行结果截图 ................................................. 9 五、总结 ........................................................ 10

- 2 -

闹钟的设计与实现

一、项目设计

1.1题目描述:

结合JAVA图形界面的知识设计一个简单的小闹钟

1.2设计思路

百度下载的闹钟程序设计,参考别人的程序,通过改编,并添加一些自己的程序,最终实现小闹钟的运行.本次设计要求画出时钟的面板,动态的显示当前时间,可设定或解除闹钟时间,并提供闹钟服务相应的文字提示功能,可以自己选择闹钟提示声音提示功能,并在闹钟设定的输入框中有简单的排错功能。

1.3设计内容

1.3.1画出Clock类的UML简图 Clock类中的变量 ri, shi, fen, miao, dangqian, guanji: JLabel queding, dakai : JButton music, RI, SHI, FEN, MIAO : JTextField h = 0, f = 0, m = 0, r = 0 : int Fo, foo : boolean soumd1 : public AudioClip Clock类中的函数 public clock() public static void main(String agrs[]) public void run()

1.3.2各方法功能描述列表 Clock类方法 Main() Clock() Run() 功能 执行main函数 Clock类的构造函数,用于对时钟界面的初始化 用于对时钟的动态显示的执行,并判断是否设定了闹钟时间,若当前时间与设定的时间相等则播放选定的音乐

二、算法描述

- 3 -

2.1基本算法描述

本程序先是在框架中新建了一个容器,然后用GridLayout类对面板进行划分,程序引入java.util.Date来显示当前时间,并用一个永真循环,来对当前时间显示的更新,引入java.io.File来实现对文件的读写操作,程序设计了一个选择按钮,用来选择文件,并且声明只能选择,WAU、MID的文件,引入用java.applet.Applet 来播放音乐文件,用getText()函数获取输入的闹钟设定时间,并永真循环和当前的时间进行对比,若相等则播放音乐,若不相等则显示离目标设定时间的差距。

2.2主要模块算法描述

2.2.1当前动态时间的显示的设计与实现。

(1)功能:可以实时的更新显示系统完整的时间

(2)算法:引入java.util.Date用while循环更新时间 (3)代码:

public void run() {

while (true) {

Date now = new Date();//设置一个新的当前时间对象。

dangqian.setText(\当前时间: \显示当前的时间 .......

}

2.2.2音乐文件的选择。

(1)功能:用打开按钮实现对本地音乐文件的选择

(2)算法:引入java.io.File和java.net.MalformedURLException 来实现对音乐本地音乐文件的选择。 (3)代码:

dakai.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent event) {

JFileChooser fileChooser = new JFileChooser();

fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); fileChooser.setCurrentDirectory(new File(\ // 设置文件选择器当前目录 fileChooser.setFileFilter(new javax.swing.filechooser.FileFilter() {

public boolean accept(File file)

{ // 可接受的文件类型 String name = file.getName().toLowerCase(); return name.endsWith(\ || name.endsWith(\ || file.isDirectory(); }

public String getDescription()

{ return \音乐文件(*.wav,*.au)\ } });

- 4 -

2.2.3闹铃功能的实现

(1)功能:到达设定闹钟时间,会有输出文字及产生音乐。

(2)算法:读入Clock类中的时间,并设置一个Timer,每隔0.1秒进行比对,如果字符串之间匹配就显示

(3)代码:

public void run() {

……… if (fo) { foo = true;

RI.setEditable(false); SHI.setEditable(false); FEN.setEditable(false); MIAO.setEditable(false);

queding.setText(\关闭\ //关闭闹钟设定 SimpleDateFormat ri = new SimpleDateFormat(\ SimpleDateFormat shi = new SimpleDateFormat(\ SimpleDateFormat fen = new SimpleDateFormat(\ SimpleDateFormat miao = new SimpleDateFormat(\ riqi = Integer.parseInt(ri.format(now));

shizhong = Integer.parseInt(shi.format(now)); fenzhong = Integer.parseInt(fen.format(now)); miaozhong = Integer.parseInt(miao.format(now)); if (riqi == r && shizhong == h && fenzhong == f && miaozhong == m) { try {

soumd1 = Applet.newAudioClip(new File(music.getText())

.toURL()); // 播放音乐 soumd1.loop(); fo = false; foo = false;

} catch (MalformedURLException e) { e.printStackTrace(); } } } try {

Thread.sleep(1000);

} catch (InterruptedException ie) { } } }

- 5 -


JAVA课程设计 - 闹钟的设计与实现 11计科本01班 张慧.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中学生春季传染病预防知识

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: