Java中的计时器上升

时间:2014-03-07 22:24:29

标签: java swing timer

我正在开发一个测验计划。

我希望计时器上升一秒,直到进行测验的人点击提交答案按钮。

除了计时器之外,我还有其他一切,我只是想知道如何添加计时器,并在提交答案按钮被击中时停止。

3 个答案:

答案 0 :(得分:1)

假设您使用Swing,因为您提到按钮按下,您可以这样做 -

private long startTime, endTime;
private Timer timer;

// When you need to start your timer, do-
startTime = System.currentTimeMillis();
if (timer == null) {
    timer = new Timer(100, this);
    timer.start();
} else {
    timer.restart()
}

// When the button is pressed
endTime = System.currentTimeMillis();
timer.stop();

double totalSeconds = (endTime - startTime) / 1000.0;

// To know how long it's been running-
long time = (System.currentTimeMillis() - startTime) / 1000;

参考: Oracle's How to Use Swing Timers

答案 1 :(得分:0)

尝试创建一个增加数字的新线程,然后在循环中创建Thread.sleep(1000);。我承认这不是最好的方法,但它可以用于大多数情况。不知道实现这样的事情的代码就像猜测一样。

答案 2 :(得分:0)

计时器还是秒表?要计算用户点击提交所花费的时间,您可以这样做:

// when they start the quiz question
long start = System.currentTimeMillis();

// when they hit submit
long finish = System.currentTimeMillis();

// difference is how long they took
long time = finish - start;
System.out.println("You took " + time + " milliseconds");

请记住,他们花的时间将以毫秒为单位。如果需要,可以将其转换为秒(1秒内有1000毫秒)。