2011-04-19 87 views

回答

3

這樣做會是這樣的Java 5的方式:

void startTimer(int delaySeconds) { 
    Executors.newSingleThreadScheduledExecutor().schedule(
    runnable, 
    delaySeconds, 
    TimeUnit.SECONDS); 
} 

runnable描述你想要做什麼。例如:

Runnable runnable = new Runnable() { 
    @Override public void run() { 
    System.out.println("Hello, world!"); 
    } 
} 
1
import java.awt.*; 
import java.util.Timer; 
import java.util.TimerTask; 

public class TimerDemo { 
    Toolkit toolkit; 

    Timer timer; 

    public TimerDemo(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(); 
     System.exit(0); 
    } 
    } 

    public static void main(String args[]) { 
    System.out.println("About to schedule task."); 
    new TimerDemo(30); 
    System.out.println("Task scheduled."); 
    } 
} 

許多有用的鏈接在那裏。

4

java.util.Timer是個不錯的選擇,但javax.swing.Timer可能會更方便,因爲在這個example看到。

+0

除非這是一個從命令行玩的遊戲(人們仍然*做*這些?)一個Swing'定時器'看起來是一個明顯的選擇。 – 2011-04-19 02:58:03