如何在 Java 中制作倒数计时器?
How to make count down timer in Java?
我想每秒倒计时并更新标签文本?
int countdown = 100;
public void countingDown() {
countdown = countdown - 1;
label.setText(countdown + "second's left");
}
那么如何每秒 运行 countingDown
?
试试这个
int countdown=100;
public void countingDown(){
new Timer().schedule(new TimerTask(){
@Override
public void run() {
countdown=countdown - 1;
label.setText(countdown +"second's left");
}
},0, 1000);
}
您可以使用下面的代码
final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
final Runnable refresh = new Runnable() {
public void run() {
//countingDown stuff;
}
};
scheduler.scheduleAtFixedRate(refresh, 0, 1,SECONDS);
你可能会这样做:
package com.example;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimer {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new App(), 0, 1000);
}
}
class App extends TimerTask {
int countdown = 100;
public void run() {
countdown = countdown - 1;
System.out.println(countdown);
//label.setText(countdown +"second's left");
}
}
// Result:
//99
//98
//97
//96
//95
//94
它很管用。根据需要将 System.out.println(countdown);
更改为 label.setText(countdown +"second's left");
。
参考
http://docs.oracle.com/javase/8/docs/api/index.html?java/util/TimerTask.html
http://docs.oracle.com/javase/8/docs/api/index.html?java/util/Timer.html
我想每秒倒计时并更新标签文本?
int countdown = 100;
public void countingDown() {
countdown = countdown - 1;
label.setText(countdown + "second's left");
}
那么如何每秒 运行 countingDown
?
试试这个
int countdown=100;
public void countingDown(){
new Timer().schedule(new TimerTask(){
@Override
public void run() {
countdown=countdown - 1;
label.setText(countdown +"second's left");
}
},0, 1000);
}
您可以使用下面的代码
final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
final Runnable refresh = new Runnable() {
public void run() {
//countingDown stuff;
}
};
scheduler.scheduleAtFixedRate(refresh, 0, 1,SECONDS);
你可能会这样做:
package com.example;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimer {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new App(), 0, 1000);
}
}
class App extends TimerTask {
int countdown = 100;
public void run() {
countdown = countdown - 1;
System.out.println(countdown);
//label.setText(countdown +"second's left");
}
}
// Result:
//99
//98
//97
//96
//95
//94
它很管用。根据需要将 System.out.println(countdown);
更改为 label.setText(countdown +"second's left");
。
参考
http://docs.oracle.com/javase/8/docs/api/index.html?java/util/TimerTask.html
http://docs.oracle.com/javase/8/docs/api/index.html?java/util/Timer.html