- java.lang.Object
-
- java.lang.Thread
-
- com.flexganttfx.view.timeline.TimeTracker
-
- All Implemented Interfaces:
Runnable
public class TimeTracker extends Thread
A time tracker can be used to update the propertyTimelineModel.nowProperty()
. In most cases the time "now" will be equivalent to the system time but in simulations this might not be the case. The time tracker can be used in combination with theTimelineModel
by binding theTimelineModel.nowProperty()
to thetimeProperty()
.- Since:
- 1.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
-
-
Field Summary
-
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
-
-
Constructor Summary
Constructors Constructor Description TimeTracker()
Constructs a new tracker.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getDelay()
Returns the delay in milliseconds between updates ofTimelineModel.nowProperty()
.protected Instant
getNow()
Override to return the instant that will be set as "now" on the timeline model.Instant
getTime()
void
run()
void
setDelay(long millis)
Sets the delay between updates ofTimelineModel.nowProperty()
.void
startTracking()
Starts the tracking of the time.void
stopTracking()
Stops the tracking of the time.ReadOnlyObjectProperty<Instant>
timeProperty()
-
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
-
-
-
Method Detail
-
timeProperty
public final ReadOnlyObjectProperty<Instant> timeProperty()
-
getTime
public final Instant getTime()
-
getDelay
public final long getDelay()
Returns the delay in milliseconds between updates ofTimelineModel.nowProperty()
. The default is 1000 millis.- Returns:
- the default delay between update calls
- Since:
- 1.0
-
setDelay
public final void setDelay(long millis)
Sets the delay between updates ofTimelineModel.nowProperty()
. The default is 1000 millis.- Parameters:
millis
- the new delay- Throws:
IllegalArgumentException
- if the delay is zero or smaller- Since:
- 1.0
-
startTracking
public final void startTracking()
Starts the tracking of the time.- Since:
- 1.0
-
stopTracking
public final void stopTracking()
Stops the tracking of the time.- Since:
- 1.0
-
getNow
protected Instant getNow()
Override to return the instant that will be set as "now" on the timeline model. The default implementation usesInstant.now()
.- Returns:
- the "now" instant
- See Also:
TimelineModel.setNow(Instant)
-
-