Package com.formdev.flatlaf.util
Class Animator
- java.lang.Object
-
- com.formdev.flatlaf.util.Animator
-
public class Animator extends Object
Simple animator based on ideas and concepts from "Filthy Rich Clients" book and "Timing Framework" library.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
Animator.Interpolator
Interpolator used by animation to change timing fraction.static interface
Animator.TimingTarget
Animation callbacks.
-
Constructor Summary
Constructors Constructor Description Animator(int duration)
Creates an animation that runs duration milliseconds.Animator(int duration, Animator.TimingTarget target)
Creates an animation that runs duration milliseconds.Animator(int duration, Animator.TimingTarget target, Runnable endRunnable)
Creates an animation that runs duration milliseconds.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addTarget(Animator.TimingTarget target)
Adds a target to the animation that receives timing events.void
cancel()
Cancels the animation before it normally ends.int
getDuration()
Returns the duration of the animation in milliseconds.Animator.Interpolator
getInterpolator()
Returns the interpolator for the animation.int
getResolution()
Returns the resolution of the animation in milliseconds (default is 10).boolean
isRunning()
Returns whether this animation is running.void
removeTarget(Animator.TimingTarget target)
Removes a target from the animation.void
restart()
Restarts the animation.void
setDuration(int duration)
Sets the duration of the animation in milliseconds.void
setInterpolator(Animator.Interpolator interpolator)
Sets the interpolator for the animation.void
setResolution(int resolution)
Sets the resolution of the animation in milliseconds.void
start()
Starts the animation.void
stop()
Stops the animation before it normally ends.static boolean
useAnimation()
Checks whether animations are enabled (the default) or disabled via system propertyflatlaf.animation
set tofalse
.
-
-
-
Constructor Detail
-
Animator
public Animator(int duration)
Creates an animation that runs duration milliseconds. UseaddTarget(TimingTarget)
to receive timing events andstart()
to start the animation.- Parameters:
duration
- the duration of the animation in milliseconds
-
Animator
public Animator(int duration, Animator.TimingTarget target)
Creates an animation that runs duration milliseconds. Usestart()
to start the animation.- Parameters:
duration
- the duration of the animation in millisecondstarget
- the target that receives timing events
-
Animator
public Animator(int duration, Animator.TimingTarget target, Runnable endRunnable)
Creates an animation that runs duration milliseconds. Usestart()
to start the animation.- Parameters:
duration
- the duration of the animation in millisecondstarget
- the target that receives timing eventsendRunnable
- a runnable invoked when the animation ends; ornull
-
-
Method Detail
-
useAnimation
public static boolean useAnimation()
Checks whether animations are enabled (the default) or disabled via system propertyflatlaf.animation
set tofalse
. This allows disabling all animations at command line with-Dflatlaf.animation=false
.
-
getDuration
public int getDuration()
Returns the duration of the animation in milliseconds.
-
setDuration
public void setDuration(int duration)
Sets the duration of the animation in milliseconds.- Throws:
IllegalStateException
- if animation is runningIllegalArgumentException
- if duration is <= zero
-
getResolution
public int getResolution()
Returns the resolution of the animation in milliseconds (default is 10). Resolution is the amount of time between timing events.
-
setResolution
public void setResolution(int resolution)
Sets the resolution of the animation in milliseconds.- Parameters:
resolution
- the resolution of the animation in milliseconds- Throws:
IllegalStateException
- if animation is runningIllegalArgumentException
- if resolution is <= zero
-
getInterpolator
public Animator.Interpolator getInterpolator()
Returns the interpolator for the animation. Default isnull
, which means linear.
-
setInterpolator
public void setInterpolator(Animator.Interpolator interpolator)
Sets the interpolator for the animation.- Throws:
IllegalStateException
- if animation is running
-
addTarget
public void addTarget(Animator.TimingTarget target)
Adds a target to the animation that receives timing events.- Parameters:
target
- the target that receives timing events
-
removeTarget
public void removeTarget(Animator.TimingTarget target)
Removes a target from the animation.- Parameters:
target
- the target that should be removed
-
start
public void start()
Starts the animation.- Throws:
IllegalStateException
- if animation is running
-
stop
public void stop()
Stops the animation before it normally ends. InvokesAnimator.TimingTarget.end()
on timing targets.
-
cancel
public void cancel()
Cancels the animation before it normally ends. Does not invokeAnimator.TimingTarget.end()
on timing targets.
-
restart
public void restart()
-
isRunning
public boolean isRunning()
Returns whether this animation is running.
-
-