Java应用 简易闹钟设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java应用简易闹钟设计

一、项目概述

应用Java程序设计语言,主要是使用Swing组件、事件处理器、线程控制等实现对简易闹钟的开发设计,设计过程中要求闹钟能够显示当前时间,并且能够设定闹钟的个性铃声,当设定了闹钟时间后,待到设置时间时能够自动播放音乐。

关键词:Java 面向对象闹钟铃声设置

1.1 问题和要求

如何应用Java语言实现对闹钟的简易设计,要求设计实现的闹钟能够显示当前的时间,能够设置个性闹铃,并且可以预先设定闹钟时间,待到设置时间时能够自动播放音乐。

二、设计与开发

2.1 问题分析

1)如何实现闹钟外观的简易设计;

2)如何能够获取当前时间并显示出来;

3)如何查阅文件夹选择音乐文件来实现个性闹铃的设置;

4)如何实现闹钟时间的设定,使闹钟能够在指定时间闹铃。

2.2 程序设计

1)运用Swing组件实现对闹钟的外观设计。主要应用到标签(JLable)、文本域(JTextField)、按钮(JButton)等,采用网格式布局,由网格布局管理器(GridLayout)来实现。

2)创建线程来获取当前时间,主要通过Runnable接口,使用run()方法来实现当前时间的显示。

3)要使按“选择闹铃音乐”按钮时能够触发对音乐文件的选择,则对按钮添加监听器并采用实例化文件选择器。

4)为了能在输入定点时间后实现对闹钟时间的设定,则需要对“确定”按钮添加监听器。

2.3 代码实现

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.applet.Applet;

import java.applet.AudioClip;

import java.io.File;

import .*;

import java.text.SimpleDateFormat;

import java.util.Date;

public class AlarmClock extends JFrame implements Runnable { JLabel dangqian;

JButton queding, xuanze;

JTextField music,RI, SHI, FEN, MIAO;

int h=0,f=0,m=0,r=0;

boolean fo=false;

public AudioClip soumd1;

public AlarmClock() {

Container c = getContentPane();

c.setLayout(new GridLayout(3, 1));

JPanel jp = new JPanel();

dangqian = new JLabel();

jp.add(dangqian);

c.add(jp);

JPanel jp1 = new JPanel();

music = new JTextField(20);

xuanze = new JButton("选择闹铃音乐");

jp1.add(music);

jp1.add(xuanze);

c.add(jp1);

RI = new JTextField(4);

SHI = new JTextField(4);

FEN = new JTextField(4);

MIAO = new JTextField(4);

JPanel jp2 = new JPanel();

jp2.add(new JLabel("日"));

jp2.add(RI);

jp2.add(new JLabel("时"));

jp2.add(SHI);

jp2.add(new JLabel("分"));

jp2.add(FEN);

jp2.add(new JLabel("秒"));

jp2.add(MIAO);

queding = new JButton("确定");

jp2.add(queding);

c.add(jp2);

setSize(420, 150);

setVisible(true);

xuanze.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { JFileChooser fileChooser = new JFileChooser();

fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTOR IES);

fileChooser.setCurrentDirectory(new File("."));

if (fileChooser.showOpenDialog(AlarmClock.this) == JFileChooser.APPROVE_OPTION) {

String fileName =

fileChooser.getSelectedFile().getAbsolutePath();

music.setText(fileName);

}

}

});

queding.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent event) {

if(queding.getText().equals("确定")){

try{

r=Integer.parseInt(RI.getText());

h=Integer.parseInt(SHI.getText());

f=Integer.parseInt(FEN.getText());

m=Integer.parseInt(MIAO.getText());

if(1<=r&&r<=31&&0<=h&&h<=23&&0<=f&&f<=59&&0<=m&&m<=59){

fo=true;

}

else

JOptionPane.showMessageDialog(null, "输入时间错误");

}

catch(Exception e){

JOptionPane.showMessageDialog(null, "请输入正确的时间");

相关文档
最新文档