Java - Timer 的详细介绍

Timer的详细使用方法和介绍
Java Timer API http://www.apihome.cn/api/java/timer.html

效果展示:(方案2,4,5)
*效果图暂时上传不了,之后补上,也可自行运行

源码如下:

import java.util.Timer;  
import java.util.TimerTask;
import java.util.Calendar;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.awt.Toolkit;



//方案1,定时5s后执行任务
/*
public class Java_Timer{  
    Timer timer;  
    public Java_Timer(int seconds){  
        timer = new Timer();  
        timer.schedule(new RemindTask(), seconds*1000);  
    }  
    class RemindTask extends TimerTask{  
        public void run(){  
            System.out.println("Time''s up!");  
            timer.cancel(); //Terminate the timer thread  
        }  
    }  
    public static void main(String args[]){  
        System.out.println("About to schedule task.");  
        new Java_Timer(5);  
        System.out.println("Task scheduled.");  //此处的打印信息会立即执行,没有等待上步执行完成 
    }  
}
*/

//方案2:实现指定时间的执行任务,并且打印出当前的时间
/*
public class Java_Timer{  
    //设置指定的时间
    Timer timer;  
    public Java_Timer(){  
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY,15);
        calendar.set(Calendar.MINUTE,51);
        calendar.set(Calendar.SECOND,33);
        Date time = calendar.getTime();
        timer = new Timer();  
        timer.schedule(new RemindTask(), time);  
    }  
    class RemindTask extends TimerTask{  
        public void run(){  
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
            System.out.println(df.format(new Date()));// new Date()为获取当前系统时间
            System.out.println("Time''s up!");  
            timer.cancel(); //Terminate the timer thread  
        }  
    }  
    public static void main(String args[]){  
        System.out.println("About to schedule task.");  
        new Java_Timer();  
        System.out.println("Task scheduled.");  //此处的打印信息会立即执行,没有等待上步执行完成 
    }  
}
*/

//方案3:5s定时时间到了,发出蜂鸣声----类似于方案1
/*
public class Java_Timer{  
    Timer timer;
    Toolkit toolkit;
    public Java_Timer(int seconds){  
        toolkit = Toolkit.getDefaultToolkit();
        timer = new Timer();  
        timer.schedule(new RemindTask(), seconds*1000);  
    }  
    class RemindTask extends TimerTask{  
        public void run(){  
            System.out.println("Time''s up!");
            toolkit.beep();
            //timer.cancel(); //Terminate the timer thread  
            System.exit(0);
        }  
    }  
    public static void main(String args[]){  
        System.out.println("About to schedule task.");  
        new Java_Timer(5);  
        System.out.println("Task scheduled.");  //此处的打印信息会立即执行,没有等待上步执行完成 
    }  
}
*/


//方案4:1s定时反复执行-----Success
/*
public class Java_Timer{  
    Timer timer;
    Toolkit toolkit;
    public Java_Timer(){  
        toolkit = Toolkit.getDefaultToolkit();
        timer = new Timer();  
        timer.schedule(new RemindTask(), 0, 1000);  
    }  
    class RemindTask extends TimerTask{  
        int count = 4;
        public void run(){  
            if(count > 0)
            {
                System.out.println("Beep");
                toolkit.beep();
                count--;
            }
            else{
                System.out.println("End");
                System.exit(0);
            }
            //timer.cancel(); //Terminate the timer thread  
        }  
    }  
    public static void main(String args[]){  
        System.out.println("About to schedule task.");  
        new Java_Timer();  
        System.out.println("Task scheduled.");  //此处的打印信息会立即执行,没有等待上步执行完成 
    }  
}
*/

//测试:实现的事20s定时,发出声响,并且显示定时的效果 == (每间隔1s就输出一次时间,直到20次)
public class Java_Timer{  
    Timer timer;
    Toolkit toolkit;
    public Java_Timer(){  
        toolkit = Toolkit.getDefaultToolkit();
        timer = new Timer();  
        timer.schedule(new RemindTask(), 0, 1000);  
    }  
    class RemindTask extends TimerTask{  
        int count = 15;
        public void run(){  

            if(count > 0)
            {
                //System.out.println("Beep");
                toolkit.beep();
                System.out.println("00:00:"+count);
                count--;
            }
            else{
                System.out.println("I Love you  & Forever");                
                System.exit(0);
            }
            //timer.cancel(); //Terminate the timer thread  
        }  
    }  
    public static void main(String args[]){  
        System.out.println("\t\t15s倒计时");  
        new Java_Timer();  
        System.out.println("Task scheduled.");  //此处的打印信息会立即执行,没有等待上步执行完成 
    }  
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值