我想实现一个游戏java的计时器?
答
这样做会是这样的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
你想要什么方法? – Adam 2011-04-19 02:24:35
我应该导入定时器 – Technupe 2011-04-19 02:30:25