📄 countdown.java
字号:
/*
* CountDown.java
*
* MSE06B班张智力的实验报告
*
* 2006年12月10日
*/
package olts.util;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.*;
/**
* CountDown类,工具类,提供倒计时钟计数器。
*
*/
public class CountDown {
/**
* ClockTimer类,内部类,继承了TimerTask类,实现了其中的run方法,把一个倒计的时间显示出来
*/
class ClockTimerTask extends TimerTask{
public void run(){
if(countDownNumber > 0){
hour = countDownNumber / 3600;
munite = countDownNumber / 60;
second = countDownNumber % 60;
show.setText("剩余时间:" + hour + ":" + munite + ":" + second);
countDownNumber --;
}
else show.setText("时间到");
}
}
/**
* countDownTimer对象,SingleTon模式对唯一返回对象
*/
private static CountDown countDownTimer;
/**
* countDownNumber属性,需要倒数的秒数
*/
private static int countDownNumber;
/**
* hour,表示小时
*/
private int hour;
/**
* munite,表示分钟
*/
private int munite;
/**
* second,表示秒钟
*/
private int second;
/**
* show对象,回调主界面的JLabel,并在其上面显示倒数的时间
*/
private static JLabel show;
/**
* timer对象,本工具使用的计时器
*/
private Timer timer;
/**
* CountDown构造函数
*/
private CountDown(int time, JLabel label) {
this.countDownNumber = time;
this.show = label;
}
/**
* getCountDown方法,获取CountDown对象的方法,SingleTon模式中的获取对象方法。
*/
public static CountDown getCountDown(int time, JLabel label){
if(countDownTimer == null){
countDownTimer = new CountDown(time, label);
}
return countDownTimer;
}
/**
* start方法,计时器启动方法
*/
public void start(){
if(timer == null){
timer = new Timer();
}
timer.schedule(new ClockTimerTask(), 0, 1000);
}
/**
* pause方法,计时器暂停方法
*/
public void pause(){
if(timer != null){
timer.cancel();
timer = null;
}
}
/**
* stop方法,计时器停止方法
*/
public void stop(){
if(timer != null){
timer.cancel();
timer = null;
}
countDownTimer = null;
show.setText("已提交");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -