com.vlsolutions.swing.docking.animation
Class ComponentAnimator
java.lang.Object
com.vlsolutions.swing.docking.animation.ComponentAnimator
public class ComponentAnimator
extends java.lang.Object
Utility class used to perform move/resize animation for awt/swing components.
This class moves/resizes a Component given a start and end Rectangle and
a duration.
Movements and listeners notifications are processed in the Swing Event Thread.
protected Component | comp - The animated component
|
protected float | duration - the animation duration in seconds
|
protected float | elapsed - time elapsed since the beginnig of animation
|
protected Rectangle | endBounds - the component's end bounds
|
protected Rectangle | startBounds - the component's start bounds
|
ComponentAnimator(Component comp, Rectangle startBounds, Rectangle endBounds, float duration) - Reusable component animator.
|
ComponentAnimator(Component comp, Rectangle startBounds, Rectangle endBounds, float duration, AnimationListener listener) - Single-shot animator (use another ComponentAnimator for a new animation).
|
void | addAnimationListener(AnimationListener listener) - Adds a new listener to the animator
|
void | cancel() - Cancels the animation (the component is not reset to its initial location/size)
|
float | getDuration() - Returns the duration of the animation
|
Rectangle | getEndBounds() - Returns the end bounds of the components.
|
Rectangle | getStartBounds() - Returns the start bounds of the component.
|
void | setDuration(float duration) - Sets the duration of the animation.
|
void | setEndBounds(Rectangle endBounds) - Sets the end bounds of the component.
|
void | setStartBounds(Rectangle startBounds) - Sets the start bounds of the component for animation.
|
void | start() - Starts the animation.
|
comp
protected Component comp
The animated component
duration
protected float duration
the animation duration in seconds
elapsed
protected float elapsed
time elapsed since the beginnig of animation
endBounds
protected Rectangle endBounds
the component's end bounds
startBounds
protected Rectangle startBounds
the component's start bounds
ComponentAnimator
public ComponentAnimator(Component comp,
Rectangle startBounds,
Rectangle endBounds,
float duration)
Reusable component animator.
To start an animation, don't forget to call the
start()
method.
ComponentAnimator
public ComponentAnimator(Component comp,
Rectangle startBounds,
Rectangle endBounds,
float duration,
AnimationListener listener)
Single-shot animator (use another ComponentAnimator for a new animation).
comp
- the component to animatestartBounds
- initial bounds of the componentendBounds
- end bounds of the componentduration
- duration of animation, expressed in secondslistener
- single listener used for animation notification
addAnimationListener
public void addAnimationListener(AnimationListener listener)
Adds a new listener to the animator
cancel
public void cancel()
Cancels the animation (the component is not reset to its initial location/size)
getDuration
public float getDuration()
Returns the duration of the animation
- the duration of the animation, in seconds
getEndBounds
public Rectangle getEndBounds()
Returns the end bounds of the components.
- the end bounds of the components.
getStartBounds
public Rectangle getStartBounds()
Returns the start bounds of the component.
- the start bounds of the component (those of when animation starts).
setDuration
public void setDuration(float duration)
Sets the duration of the animation.
Warning : do not change this value during an animation
duration
- the new duration in seconds
setEndBounds
public void setEndBounds(Rectangle endBounds)
Sets the end bounds of the component.
Warning : do not change end bounds during an animation.
setStartBounds
public void setStartBounds(Rectangle startBounds)
Sets the start bounds of the component for animation.
Warning :do not change start bounds during an animation
startBounds
- the start bounds of the component.
start
public void start()
Starts the animation.
The component is
setBounds
ed to startBounds and made visible,
than a Swing timer is started to process the animation (refresh rate is 100 ms).
the ANIMATION_START event is then fired to all listeners.
© Copyright 2004-2006 VLSolutions. All Rights Reserved.
www.vlsolutions.com : Java Components - Smart Client Applications