我想实现一个游戏java的计时器?

问题描述:

我想要一个方法startTimer(30)其中参数是倒计时秒数。我如何在Java中这样做?我想实现一个游戏java的计时器?

+0

你想要什么方法? – Adam 2011-04-19 02:24:35

+0

我应该导入定时器 – Technupe 2011-04-19 02:30:25

这样做会是这样的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!"); 
    } 
} 

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."); 
    } 
} 

许多有用的链接在那里。

java.util.Timer是个不错的选择,但javax.swing.Timer可能会更方便,因为在这个example看到。

+0

除非这是一个从命令行玩的游戏(人们仍然*做*这些?)一个Swing'定时器'看起来是一个明显的选择。 – 2011-04-19 02:58:03