[英]Timer having difficulty when decreasing in minutes
嗨我正在研究一個從6點鍾開始倒計時的計時器程序。 它運作良好(6:00,5:59,5:58 ...... 5:01,5:00,4:59),但隨后在4:59之后開始減少,而不是幾秒鍾(例如:4:59) ,3:59,2:59)我無法弄清楚原因。
下面是代碼:
//Drag Button
public class event implements ActionListener {
public void actionPerformed(ActionEvent e){
int count = 60;
dragTimer.setText("6:00");
TimeClass tc = new TimeClass(count);
dragT = new Timer(1000, tc);
dragT.start();
}
}
public class TimeClass implements ActionListener {
int counter = 60;
int minute = 5;
public TimeClass(int counter){
this.counter = counter;
}
public void actionPerformed(ActionEvent tc){
counter--;
if(minute > 0){
if(counter >= 0) {
String countString = Integer.toString(counter);
String minuteString = Integer.toString(minute);
String numb = minuteString + ":" + countString;
dragTimer.setText(numb);
}
if(counter < 10 || counter <= 1){
String countString = Integer.toString(counter);
String minuteString = Integer.toString(minute);
String numb = minuteString + ":0" + countString;
dragTimer.setText(numb);
}
if(counter < 0){
int counter = 59;
minute--;
String countString = Integer.toString(counter);
String minuteString = Integer.toString(minute);
String numb = minuteString + ":" + countString;
dragTimer.setText(numb);
}
}else{
dragT.stop();
dragTimer.setText("0:00");
Toolkit.getDefaultToolkit().beep();
}
}
}
if(counter < 0){
int counter = 59;//change this to
counter = 59;
您正在創建另一個計數器變量,該范圍僅在if循環中
相反,你應該重置以前(已經)聲明的變量
下次循環執行時,計數器值將不是您將其分配給59時所期望的值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.