package greenfoot.sound;
| A controllable timer, keeps track of time since a mark.
|
public class TimeTracker
{
private long startTime;
private boolean tracking;
private long timeElapsed;
public void start()
{
if (tracking) {
return;
}
startTime = System.currentTimeMillis();
tracking = true;
}
public void pause()
{
if (!tracking) {
return;
}
long timeSincestart = getTimeSinceStart();
timeElapsed += timeSincestart;
tracking = false;
}
| Reset time to 0 and stop the timer.
|
public void reset()
{
startTime = 0;
tracking = false;
timeElapsed = 0;
}
private long getTimeSinceStart()
{
if (tracking) {
return System.currentTimeMillis() - startTime;
}
else {
return 0;
}
}
| Get the time tracked, in milliseconds, since the mark.
|
public long getTimeTracked()
{
return timeElapsed + getTimeSinceStart();
}
| Reset the time tracked to the given time. The time tracked continues
| to count up if the TimeTracker is started.
|
public void setTimeTracked(long newTime)
{
if (tracking) {
startTime = System.currentTimeMillis() - newTime;
timeElapsed = 0;
}
else {
timeElapsed = newTime;
}
}
}
top,
use,
map,
class TimeTracker
. start
. pause
. reset
. getTimeSinceStart
. getTimeTracked
. setTimeTracked
93 neLoCode
+ 5 LoComm