皮皮网
皮皮网

【支付宝余额源码】【glfw源码解读】【汕头苹果源码】java 闹钟源码_java闹钟代码

来源:上传文件源码php 发表时间:2024-11-30 01:05:14

1.java ?闹钟闹钟???Դ??
2.跪求高手帮忙写一个JAVA手机闹钟程序 实现添加铃声和设置多闹钟
3.用Java写一个闹钟 每天早上6点30响 怎么做
4.有没有JAVA闹钟的小程序啊~不要太复杂,越简单越好啊~分大大的源码加啦!急!代码!闹钟闹钟!源码!代码支付宝余额源码!闹钟闹钟!源码!代码!闹钟闹钟!源码!代码!闹钟闹钟!源码

java 闹钟源码_java闹钟代码

java ?代码glfw源码解读???Դ??

       代码如下:

       import java.awt.BorderLayout;

       import java.awt.FlowLayout;

       import java.awt.Font;

       import java.awt.Frame;

       import java.awt.GridLayout;

       import java.awt.event.ActionEvent;

       import java.awt.event.ActionListener;

       import java.awt.event.KeyEvent;

       import java.awt.event.KeyListener;

       import java.io.IOException;

       import java.text.DateFormat;

       import java.text.SimpleDateFormat;

       import java.util.Calendar;

       import java.util.Timer;

       import java.util.TimerTask;

       import javax.sound.sampled.AudioInputStream;

       import javax.sound.sampled.AudioSystem;

       import javax.sound.sampled.Clip;

       import javax.sound.sampled.LineEvent;

       import javax.sound.sampled.LineListener;

       import javax.sound.sampled.LineUnavailableException;

       import javax.sound.sampled.UnsupportedAudioFileException;

       import javax.swing.JButton;

       import javax.swing.JDialog;

       import javax.swing.JFrame;

       import javax.swing.JLabel;

       import javax.swing.JPanel;

       import javax.swing.JTextField;

       /

**

        * 闹钟主界面

        */

       public class AlarmClock extends JFrame implements ActionListener {

        private static final int LOOP_COUNT = 5; // 重复播放的次数

        private JLabel labelClock, labelAlarm, labelNextAlarm;

        private JButton btnSet, btnClose;

        private SetDialog setDialog;

        private JPanel topPanel, alarmPanel;

        private Timer timer;

        private Clip clip;

        private Calendar alarmCal;

        private boolean timeReached = true;

        private DateFormat df = new SimpleDateFormat(

跪求高手帮忙写一个JAVA手机闹钟程序 实现添加铃声和设置多闹钟

       import java.util.*;

       import java.awt.*;

       import java.applet.*;

       import java.text.*;

       public class AlarmClock extends Applet implements Runnable

       {

        Thread timer=null; //创建线程timer

        Image clockp,gif1,gif2,clock6,clock7; //clockp:闹钟的外壳,闹铃和报时鸟

        int s,m,h,hh;

        AudioClip ipAu,danger,chirp;

        boolean canPaint=true;

        boolean flag=false;

        boolean strike=true;

        int counter=0;

        int lasts;

        Image offscreen_buf=null;

        int i,j,t=0;

        int timeout=;

        int lastxs=0,lastys=0,lastxm=0,lastym=0,lastxh=0,lastyh=0;

        Date dummy=new Date(); //生成Data对象

        GregorianCalendar cal=new GregorianCalendar();

        SimpleDateFormat df=new SimpleDateFormat("yyyy MM dd HH:mm:ss");//设置时间格式

        String lastdate=df.format(dummy);

        Font F=new Font("TimesRoman",Font.PLAIN,);//设置字体格式

        Date dat=null;

        Date timeNow=null;

        Color fgcol=Color.blue;

        Color fgcol2=Color.darkGray;

        Panel setpanel;

        Color backcolor=Color.pink;

        TextField showhour,showmin,showsec,sethour,setmin,setsec;//显示当前时间文本框和定时文本框

        Button onbutton;

        Button offbutton;

        Label hlabel1,mlabel1,slabel1,hlabel2,mlabel2,slabel2;//显示时间单位时所用的标签(时、分、秒)

        Label info1=new Label("欢迎使用定时提醒闹钟"),info2=new Label("");

        Label note1=new Label("当前时间:"),note2=new Label("闹钟设置:");

        boolean setalerm=false,clickflag=false;//判断是否响铃和振动

        int fixh=0,fixm=0,fixs=0;//记录闹钟的定时

        public void init()//初始化方法

        {

        Integer gif_number;

        int fieldx=,fieldy1=,fieldy2=,fieldw=,fieldh=,space=;//显示时间和定时文本框的定位参数

        setLayout(null); //将布局管理器初始化为null

        setpanel=new Panel();

        setpanel.setLayout(null);

        setpanel.add(note1);

        setpanel.add(note2);

        note1.setBounds(,,,);

        note1.setBackground(backcolor);

        note1.setForeground(Color.black);

        note2.setBounds(,,,);

        note2.setBackground(backcolor);

        note2.setForeground(Color.black);

        hlabel1=new Label();

        mlabel1=new Label();

        slabel1=new Label();

        hlabel2=new Label();

        mlabel2=new Label();

        slabel2=new Label();

        //显示当前时间用的文本框

        showhour=new TextField("",5);

        showmin=new TextField("",5);

        showsec=new TextField("",5);

        //定时用的文本框(时、分、秒)

        sethour=new TextField("",5);

        setmin=new TextField("",5);

        setsec=new TextField("",5);

        //当前时间用的文本框的位置、大小

        setpanel.add(showhour);

        showhour.setBounds(fieldx,fieldy1,fieldw,fieldh);

        showhour.setBackground(Color.white);

        //在文本框后加入单位“时”

        setpanel.add(hlabel1);

        hlabel1.setText("时");

        hlabel1.setBackground(backcolor);

        hlabel1.setForeground(Color.black);

        hlabel1.setBounds(fieldx+fieldw+3,fieldy1,,);

        fieldx=fieldx+space;

        //当前时间的分钟文本框的位置、大小

        setpanel.add(showmin);

        showmin.setBounds(fieldx,汕头苹果源码fieldy1,fieldw,fieldh);

        showmin.setBackground(Color.white);

        //在文本框后加入单位“分”

        setpanel.add(mlabel1);

        mlabel1.setText("分");

        mlabel1.setBackground(backcolor);

        mlabel1.setForeground(Color.black);

        mlabel1.setBounds(fieldx+fieldw+3,fieldy1,,);

        fieldx=fieldx+space;

        //当前时间的秒文本框的位置、大小

        setpanel.add(showsec);

        showsec.setBounds(fieldx,fieldy1,fieldw,fieldh);

        showsec.setBackground(Color.white);

        //在文本框后加入单位“秒”

        setpanel.add(slabel1);

        slabel1.setText("秒");

        slabel1.setBackground(backcolor);

        slabel1.setForeground(Color.black);

        slabel1.setBounds(fieldx+fieldw+3,fieldy1,,);

        fieldx=;

        //定时的小时文本框的位置、大小

        setpanel.add(sethour);

        sethour.setBounds(fieldx,fieldy2,fieldw,fieldh);

        sethour.setBackground(Color.white);

        //在文本框后加入单位“时”

        setpanel.add(hlabel2);

        hlabel2.setText("时");

        hlabel2.setBackground(backcolor);

        hlabel2.setForeground(Color.black);

        hlabel2.setBounds(fieldx+fieldw+3,fieldy2,,);

        fieldx=fieldx+space;

        //定时的分钟文本框的位置、大小

        setpanel.add(setmin);

        setmin.setBounds(fieldx,fieldy2,fieldw,fieldh);

        setmin.setBackground(Color.white);

        //在文本框后加入单位“分”

        setpanel.add(mlabel2);

        mlabel2.setText("分");

        mlabel2.setBackground(backcolor);

        mlabel2.setForeground(Color.black);

        mlabel2.setBounds(fieldx+fieldw+3,fieldy2,,);

        fieldx=fieldx+space;

        //定时的秒文本框的位置、大小

        setpanel.add(setsec);

        setsec.setBounds(fieldx,fieldy2,fieldw,fieldh);

        setsec.setBackground(Color.white);

        //在文本框后加入单位“秒”

        setpanel.add(slabel2);

        slabel2.setText("秒");

        slabel2.setBackground(backcolor);

        slabel2.setForeground(Color.black);

        slabel2.setBounds(fieldx+fieldw+3,fieldy2,,);

        //设置闹钟控制按钮(on,off)

        onbutton=new Button("开");

        offbutton=new Button("关");

        setpanel.add(onbutton);

        setpanel.add(offbutton);

        onbutton.setBounds(,,,);

        offbutton.setBounds(,,,);

        //加入一些附加的信息标签(题头,题尾)

        setpanel.add(info1);

        info1.setBackground(backcolor);

        info1.setForeground(Color.blue);

        info1.setBounds(,,,);

        setpanel.add(info2);

        info2.setBackground(backcolor);

        info2.setForeground(Color.blue);

        info2.setBounds(,,,);

        //将面板加入当前容器中,并设置面板的大小和背景色

        add(setpanel);

        setpanel.setBounds(,1,,);

        setpanel.setBackground(backcolor);

        //获取声音文件

        ipAu=getAudioClip(getDocumentBase(),"bells/仙剑.mid");

        danger=getAudioClip(getDocumentBase(),"bells/0.mid");

        chirp=getAudioClip(getDocumentBase(),"bells/3.mid");

        int xcenter,ycenter,s,m,h;

        xcenter=;

        ycenter=;

        s=(int)cal.get(Calendar.SECOND);

        m=(int)cal.get(Calendar.MINUTE);

        h=(int)cal.get(Calendar.HOUR_OF_DAY);

        //初始化指针位置

        lastxs=(int)(Math.cos(s*3.f/-3.f/2)*+xcenter);

        lastys=(int)(Math.sin(s*3.f/-3.f/2)*+ycenter);

        lastxm=(int)(Math.cos(m*3.f/-3.f/2)*+xcenter);

        lastym=(int)(Math.sin(m*3.f/-3.f/2)*+ycenter);

        lastxh=(int)(Math.cos((h*+m/2)*3.f/-3.f/2)*+xcenter);

        lastyh=(int)(Math.sin((h*+m/2)*3.f/-3.f/2)*+ycenter);

        lasts=s;

        MediaTracker mt=new MediaTracker(this);//创建Tracke对象

        clockp=getImage(getDocumentBase(),"休闲.png");

        gif1=getImage(getDocumentBase(),"gif1.gif");

        gif2=getImage(getDocumentBase(),"gif2.gif");

        clock6=getImage(getDocumentBase(),"clock6.gif");

        clock7=getImage(getDocumentBase(),"clock7.gif");

        mt.addImage(clockp,i++);

        mt.addImage(gif1,i++);

        mt.addImage(gif2,i++);

        mt.addImage(clock6,i++);

        mt.addImage(clock7,i++);

        try{ mt.waitForAll();}catch(InterruptedException e){ };//等待加载结束

        resize(,);//设置窗口大小

        }

        public void paint(Graphics g){ //重写paint()方法

        int xh,yh,xm,ym,xs,ys,strike_times;

        int xcenter,ycenter;

        String today;

        Integer gif_number;

        xcenter=;

        ycenter=;

        dat=new Date();

        cal.setTime(dat);

        //读取当前时间

        s=(int)cal.get(Calendar.SECOND);

        m=(int)cal.get(Calendar.MINUTE);

        h=(int)cal.get(Calendar.HOUR_OF_DAY);

        today=df.format(dat);

        //指针位置

        xs=(int)(Math.cos(s*3.f/-3.f/2)*+xcenter);

        ys=(int)(Math.sin(s*3.f/-3.f/2)*+ycenter);

        xm=(int)(Math.cos(m*3.f/-3.f/2)*+xcenter);

        ym=(int)(Math.sin(m*3.f/-3.f/2)*+ycenter);

        xh=(int)(Math.cos((h*+m/2)*3.f/-3.f/2)*+xcenter);

        yh=(int)(Math.sin((h*+m/2)*3.f/-3.f/2)*+ycenter);

        //设置字体和颜色

        g.setFont(F);

        g.setColor(fgcol);

        g.setColor(fgcol2);

        g.setColor(getBackground());

        g.fillRect(1,1,,);

        g.drawImage(clockp,,,this);

        g.drawImage(clock6,,,this);

        g.setColor(fgcol2);

        g.setColor(getBackground());

        g.setColor(fgcol2);

        //以数字方式显示年、月、ybatis切换源码日和时间

        g.drawString(today,,);

        g.drawLine(xcenter,ycenter,xs,ys);

        g.setColor(fgcol);

        //画指针

        g.drawLine(xcenter,ycenter-1,xm,ym);

        g.drawLine(xcenter-1,ycenter,xm,ym);

        g.drawLine(xcenter,ycenter-1,xh,yh);

        g.drawLine(xcenter-1,ycenter,xh,yh);

        lastxs=xs;lastys=ys;

        lastxm=xh;lastym=ym;

        lastxh=xh;lastyh=yh;

        lastdate=today;

        if(h<)hh=h;//将系统时间变换到0-区间

        else hh=h-;

        if(hh==0) strike_times=;//计算整点时钟声数

        else strike_times=hh;

        if((s==0&&m==0)||flag){ //判断是否整点,是否是主动刷新

        if(counter<strike_times){

        flag=true;

        g.drawImage(gif2,,,this);

        if(lasts!=s){

        if(strike){

        counter++;

        danger.play();//播放闹铃声

        }

        if(strike)strike=false;

        else strike=true;

        }

        }

        else {

        counter=0;

        flag=false;

        }

        }

        else

        g.drawImage(gif1,,,this);

        int timedelta;//记录当前时间与闹铃定时的时差

        Integer currh,currm,currs;//分别记录当前的时、分、秒

        timeNow=new Date();

        currh=new Integer(timeNow.getHours());

        currm=new Integer(timeNow.getMinutes());

        currs=new Integer(timeNow.getSeconds());

        //判断是否要更新当前显示的时间,这样可以避免文本框出现频率闪动

        if(currh.intValue()!=Integer.valueOf(showhour.getText()).intValue())

        showhour.setText(currh.toString());

        if(currm.intValue()!=Integer.valueOf(showmin.getText()).intValue())

        showmin.setText(currh.toString());

        if(currs.intValue()!=Integer.valueOf(showsec.getText()).intValue())

        showsec.setText(currh.toString());

        if(setalerm){ //判断是否设置了闹钟

        //判断当前时间是否为闹钟所定的时间

        if((currh.intValue()==fixh)&&(currm.intValue()==fixm)&&(currs.intValue()==fixs))

        clickflag=true;

        timedelta=currm.intValue()*+currs.intValue()-fixm*-fixs;

        if((timedelta<)&&(clickflag==true)){ //若当前时间与闹钟相差时间达到秒

        chirp.play();

        g.drawImage(clock7,,,this);

        }

        else{

        chirp.stop();

        clickflag=false;

        }

        }

        if(lasts!=s)

        ipAu.play();//播放滴答声

        lasts=s;

        if(canPaint){

        t+=1;

        if(t==)t=0;

        }

        canPaint=false;

        dat=null;

       }

       public void start(){

        if(timer==null){

        timer=new Thread(this);//将timer实例化

        timer.start();

        }

       }

       public void stop(){

        timer=null;

       }

       public void run(){

        while(timer!=null){

        try{ timer.sleep(timeout);}catch(InterruptedException e){ }

        canPaint=true;

        repaint();//刷新画面

        }

        timer=null;

        }

        public void update(Graphics g){ //采用双缓冲技术的update()方法

        if(offscreen_buf==null)

        offscreen_buf=createImage(,);

        Graphics offg=offscreen_buf.getGraphics();

        offg.clipRect(1,1,,);

        paint(offg);

        Graphics ong=getGraphics();

        ong.clipRect(1,1,,);

        ong.drawImage(offscreen_buf,0,0,this);

        }

        public boolean action(Event evt,Object arg){ //按钮事件处理函数

        if(evt.target instanceof Button){

        String lable=(String)arg;

        if(lable.equals("开")){

        setalerm=true;

        //获取输入的时间

        fixh=Integer.valueOf(sethour.getText()).intValue();

        fixm=Integer.valueOf(setmin.getText()).intValue();

        fixs=Integer.valueOf(setsec.getText()).intValue();

        clickflag=false;

        }

        if(lable.equals("关")){

        setalerm=false;

        if(chirp!=null)

        chirp.stop();

        clickflag=false;

        }

        return true;

        }

        return false;

        }

       }

用Java写一个闹钟 每天早上6点响 怎么做

       计时器,每分钟或每秒执行一次,获取当前系统时间,git搭建源码判断是 6. 的话,响。。

       quartz  作业jar包。设定执行作业时间,设定执行内容,然后运行。

       其他作业实现。

有没有JAVA闹钟的小程序啊~不要太复杂,越简单越好啊~分大大的加啦!急!!!!!!!!!!!!

       这个是我能想到的除了系统任务之外,最简单最节省系统资源的了

       import java.io.File;

       import java.util.Calendar;

       import java.util.Date;

       import javax.swing.JFrame;

       import javax.swing.JOptionPane;

       public class Alert {

        public static void main(String args[]){

        long time;

        String video=null;

        String msg=null;

        try{

        //设置

        String strtime=JOptionPane.showInputDialog("输入时间:hh:mm");

        String t[]=strtime.split(":");

        int hh=Integer.parseInt(t[0]);

        int mm=Integer.parseInt(t[1]);

        video=JOptionPane.showInputDialog("输入音频路径:(为空则不需要音频)");

        if(!new File(video).exists())

        video=null;

        msg=JOptionPane.showInputDialog("闹钟提示信息:");

        //计算

        hh-=Calendar.getInstance().get(Calendar.HOUR_OF_DAY);

        mm-=Calendar.getInstance().get(Calendar.MINUTE);

        if(mm<0){

        mm+=;

        hh--;

        }

        if(hh<0){

        hh+=;

        }

        time=((hh*+mm)*-Calendar.getInstance().get(Calendar.SECOND))*;

        //等待

        Thread.sleep(time);

        //执行

        if(video!=null){

        try{

        Runtime.getRuntime().exec("start "+video);

        }catch(Exception e){

        msg+="\n音频文件加载失败!";

        }

        }

        JOptionPane.showMessageDialog(new JFrame(), strtime+"\n"+msg);

        }catch(Exception e){

        JOptionPane.showMessageDialog(new JFrame(),"闹钟任务失败,原因未明!");

        }

        }

       }

相关栏目:探索