3 ответов:
Вы, возможно, сделаете так:
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");как то, что вы хотите.Reference
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
Вы можете использовать приведенный ниже код
final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); final Runnable refresh = new Runnable() { public void run() { //countingDown stuff; } }; scheduler.scheduleAtFixedRate(refresh, 0, 1,SECONDS);
Попробуйте это
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); }
Comments