JAVA项目报告-闹钟的设计与实现

上传人:ji****72 文档编号:26920662 上传时间:2018-01-03 格式:DOC 页数:9 大小:260KB
返回 下载 相关 举报
JAVA项目报告-闹钟的设计与实现_第1页
第1页 / 共9页
JAVA项目报告-闹钟的设计与实现_第2页
第2页 / 共9页
JAVA项目报告-闹钟的设计与实现_第3页
第3页 / 共9页
JAVA项目报告-闹钟的设计与实现_第4页
第4页 / 共9页
JAVA项目报告-闹钟的设计与实现_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《JAVA项目报告-闹钟的设计与实现》由会员分享,可在线阅读,更多相关《JAVA项目报告-闹钟的设计与实现(9页珍藏版)》请在金锄头文库上搜索。

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

2、inShow :界面类TextFiledListener :文本框监听器Thread_time :线程类ActionLis :按钮监听器Thread_Time_NZ :判断当前时间和闹铃时间是否一致的 线程类Time_use :当前时间 到了设定的闹铃时间时所执 行的类运行结果:代码:package msx.NZ;import java.awt.BorderLayout;import java.awt.TextField;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import j

3、avax.swing.JPanel;/* 界面类* author Administrator*/public class LoginShow extends JFrameprivate JLabel jl4 = new JLabel();/显示当前时间/* 主类*/public static void main(String args) /实例化一个 LoginShow 对象LoginShow lo = new LoginShow();/调用方法lo.Login();/* 界面方法*/public void Login()/设置名字this.setTitle(闹钟);/设置大小this.set

4、Size(400, 100);/设置关闭后停止程序this.setDefaultCloseOperation(3);/设置在屏幕中间显示this.setLocationRelativeTo(null);/添加一个画板JPanel jp = new JPanel();JPanel jp2= new JPanel();/添加提示JLabel jl = new JLabel(闹铃时间);JLabel jl2 = new JLabel(间隔时间);JLabel jl3 = new JLabel(当前时间:);/添加文本输入框TextField tf = new TextField(3);tf.setT

5、ext(07:00);TextField tf2 = new TextField(1);tf2.setText(5);/添加按钮JButton jb = new JButton(开始);JButton jb2 = new JButton(关闭);/把组件添加到画板上jp2.add(jl3);jp2.add(jl4);jp.add(jl);jp.add(tf);jp.add(jl2);jp.add(tf2);jp.add(jb);jp.add(jb2);/把画板添加到窗体上this.add(jp2,BorderLayout.NORTH);this.add(jp,BorderLayout.SOUT

6、H);/使界面显示可见this.setVisible(true);/实例化一个线程对象Thread_time tt = new Thread_time(jl4);/开启线程tt.start();ActionLis ac = new ActionLis(tf,tf2);jb.addActionListener(ac);jb2.addActionListener(ac);package msx.NZ;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;/*

7、按钮监听器* author Administrator*/public class ActionLis implements ActionListener/输入的两个文本框private TextField tf;private TextField tf2;/ private TextFiledListener tfl;private int count = 0;/* * 构造方法*/public ActionLis (TextField tf,TextField tf2)this.tf = tf;this.tf2 = tf2;/ tfl = new TextFiledListener(tf,

8、tf2);public void actionPerformed(ActionEvent e) /如果点击的是开始if(e.getActionCommand().equals(开始)if(count = 0)if (tf.getText().length() = 5) /重新构造一个线程Thread_Time_NZ ttn = new Thread_Time_NZ(tf,tf2);ttn.start();count+;/如果点击的是关闭else if(e.getActionCommand().equals(关闭)/ tf.removeTextListener(tfl);count = 0;im

9、port java.awt.TextField;import java.awt.event.TextEvent;import java.awt.event.TextListener;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Timer;/* 文本框 监听器* * author Administrator* */public class TextFiledListener implements TextListener private TextField tf;private TextFiel

10、d tf2;/* * 构造方法*/public TextFiledListener(TextField tf, TextField tf2) this.tf = tf;this.tf2 = tf2;public void textValueChanged(TextEvent e) /判断 输入的是否合法if (tf.getText().length() = 5) /重新构造一个 线程Thread_Time_NZ ttn = new Thread_Time_NZ(tf,tf2);ttn.start();package msx.NZ;import java.awt.TextField;import

11、 java.text.SimpleDateFormat;import java.util.Date;import java.util.Timer;/* 判断当前 时间 和闹铃时间 是否一致的线程类* author Administrator*/public class Thread_Time_NZ extends Threadprivate TextField tf;/第一个文本框(闹铃时间)private TextField tf2;/第二个文本框(间隔时间)/* 构造方法* param jl4 当前时间*/public Thread_Time_NZ(TextField tf,TextFie

12、ld tf2)this.tf = tf;this.tf2= tf2;public void run()while(true)/创建一个时间对 象Date d = new Date();SimpleDateFormat sdt = new SimpleDateFormat(HH:mm);String time = sdt.format(d);/判断当前时间 和闹铃时间是否一致if (tf.getText().equals(time) /创建一个 计时器对象Timer ti = new Timer();Time_use t = new Time_use();int i = new Integer(

13、tf2.getText().intValue();ti.schedule(t, 0, i * 60 * 1000);try /执行一次后休眠一分 钟Thread.sleep(1 * 60 * 1000); catch (InterruptedException e) e.printStackTrace();try /每一秒判断一次Thread.sleep(1000); catch (InterruptedException e) e.printStackTrace();package msx.NZ;import java.text.SimpleDateFormat;import java.ut

14、il.Date;import javax.swing.JLabel;/* 线程 类* author Administrator*/public class Thread_time extends Thread/显示当前 时间的类private JLabel jl4;/* * 构造方法* param jl4 当前时间*/public Thread_time(JLabel jl4)this.jl4 = jl4;public void run()while(true)/创建一个时间对 象Date d = new Date();SimpleDateFormat sdt = new SimpleDate

15、Format(yyyy-MM-dd HH:mm:ss);String time = sdt.format(d);jl4.setText(time);try Thread.sleep(1000); catch (InterruptedException e) e.printStackTrace();package msx.NZ;import java.applet.Applet;import java.applet.AudioClip;import java.io.File;import .MalformedURLException;import .URL;import java.util.TimerTask;/* 当前 时间到了 设定的闹铃时间时 所执行的类* author Administrator*/public class Time_use extends TimerTaskpublic void run() try /音频文件File f = new File(src/msx/img/009.MID);/ System.out.println(f.getPath();URL url = f.toURL();AudioClip ac = Applet.newAudioClip(url);/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号