2.手动设置响铃时间(时分秒)。
3.快速设定响铃时间。
4.显示所剩时间(时分秒)。
5.闹钟震动并响铃。
6.终止设定的闹钟。
7.选择背景音乐。
8.试听背景音乐。
9.停止试听。
10.更换闹钟界面背景图片。"/>

永利yl23411|官方网站|欢迎您

永利yl23411|官方网站
专注电子产品研发外包服务 基于客户要求的个性化设计
021-51360000

用java设计智能闹钟

浏览数:620 


智能闹钟

程序目前实现的主要功能

显示当前本地时间(时分秒)

手动设置响铃时间(时分秒)

快速设定响铃时间。

显示所剩时间(时分秒)。

闹钟震动并响铃。

终止设定的闹钟。

选择背景音乐。

试听背景音乐。

停止试听。

更换闹钟界面背景图片。

主要功能实现方法简介

1.闹钟用户图形界面:采用Java GUI编程工具包Swing和AWT进行图形界面设计。主要使用的控件有Java Swing JMenuBar,JMenu,JMenuItem,JLable,JButton,Timer以及JComboBox。

2.显示本地时间:使用Calendar抽象类获取本地时间并采用getInstance()方法来创建对象。所获取的本地时间再通过SimpleDateFormat类转换成所需要的格式。

3.设置响铃时间:手动设置响铃时间主要通过三个JComboBox来让用户选择需要定时的时间,当用户通过下拉框选择了确定时间以后,通过getHour(),getMunite(),getSecond()三个方法获取用户所选时间。自动设置响铃时间则是通过用户界面的六个JButton进行设置,六个JButton功能依次为:增加1分钟,增加5分钟,增加30分钟,减少1分钟,减少5分钟,减少30分钟(都是基于当前时间)。当用户按下按键后,对应的数字将会存入addActionListener(this)中。

4.选择背景音乐、试听背景音乐和停止试听:用户通过JComboBox选择预先存放于文件夹中的背景音乐(音乐格式为.wav),当用户点击试听按钮后,将会通过Thread()新建一个线程,并采用star()方法将线程启动,开始播放音乐。当用户点击停止按钮后,采用interrupt()方法将线程停止,停止播放音乐。

public void myListener() {

          new Thread(new Runnable() {// 设置一个线程

                      public void run() {

                          while (true) {

                              try {

                                  Thread.sleep(1000);

                              } catch (Exception e) {

                                  e.printStackTrace();

                              }

                              executeSound();// 播放声音

                          }

                      }

                  }).start();

      }

5.闹铃功能:当用户设置好响铃时间并选择好背景音乐之后,系统创建一个线程,通过now.setText(now())获取当前时间和result.setText(surplus_time())得到剩余时间,并使用Timer实时刷新当前时间和剩余时间,显示在图形界面之中。当本地时间与预先设置的闹铃时间一致即剩余时间为零时,图形界面显示“时间到了哦”,而后系统预先创建的音乐播放线程executeSound()启动,开始播放背景音乐,同时通过图形界面坐标实时变化的方法来实现震动功能。

public void timeListener() {

          new Thread(new Runnable() {// 设置一个线程

                      public void run() {

                          while (true) {

                              try {

                                  Thread.sleep(1000);

                              } catch (Exception e) {

                                  e.printStackTrace();

                              }

                              initMainPanel();

                              now.setText(now());// 得到系统时间

                              result.setText(surplus_time());// 得到剩余时间

                          }

                      }

                 }).start();

      }

6.更换背景图片:用户点击更换背景图片后,系统自动从文件夹中获取下一张图片,将图片上传后更新到Panel并显示。

private void changeBG() {

          setFlagOfBackground(true);

          if (background < AlarmBackground.getBackgroundListSize()) {

              iconed = true;

              setVisible(false);

              if (background != AlarmBackground.getBackgroundListSize() - 1) {

                  ++background;

              } else {

                  background = 0;

              }

              initMainPanel();

          }

      }


运行效果图

总体功能

                                                     


Baidu
sogou