| java.lang.Object com.blogofbug.swing.components.effects.EffectEngine
All known Subclasses: com.blogofbug.swing.components.effects.ContainerEffectManager,
EffectEngine | public class EffectEngine implements EffectContainer,ActionListener(Code) | | Deligate implementation of an effects engine. All a component needs to do is create an instance and
ensure that paint() method is called by their paintComponent method.
author: nigel |
Inner Class :protected class EffectState | |
Constructor Summary | |
public | EffectEngine(JComponent component, boolean paintOnly) Creates a new instance of EffectEngine that can be tied to a component.
Parameters: component - The component to be tied to. |
TIMER_IDENTIFIER | final protected static int TIMER_IDENTIFIER(Code) | | The id for the main timer event
|
component | protected JComponent component(Code) | | The component the engine is attached to
|
delay | protected int delay(Code) | | The delay used for the timer, sub-classes that want to provide a higher resolution can
override this
|
effects | protected LinkedList<EffectState> effects(Code) | | A list of the currently running effects
|
finishedEffects | protected LinkedList<Effect> finishedEffects(Code) | | A temporary list of effects that are finsihed use for clean-up after the rest as has been
used.
|
timer | protected Timer timer(Code) | | The timer used to trigger effects
|
EffectEngine | public EffectEngine(JComponent component, boolean paintOnly)(Code) | | Creates a new instance of EffectEngine that can be tied to a component.
Parameters: component - The component to be tied to. Parameters: paintOnly - setting this to true will create a "paint only" effectslayer where effects are not updated by a timer, but relys on external updates and repaints. paintOnly effect engines are preferable if possible, but please note there a defects with Swing timer that cause it to be slowif you have many of them, so it is better to use the timer in the effectengine if you have to |
actionPerformed | public void actionPerformed(ActionEvent actionEvent)(Code) | | Called when the timer fires. It updates any effects that need updating,
removes any that have finished, and then if at leat one has updated
stimulates a repaint.
Parameters: actionEvent - The action event |
addEffect | public void addEffect(Effect effect)(Code) | | Adds an effect to the effects engine
Parameters: effect - The effect to add |
getHeight | public int getHeight()(Code) | | Determines the height of the container
The height in pixels of the container |
getWidth | public int getWidth()(Code) | | Determines the width of the container
The width in pixels of the container |
paintEffects | public void paintEffects(Graphics graphics)(Code) | | Called when the comonent needs paintin'
Parameters: graphics - The graphics context |
removeEffect | public void removeEffect(Effect effect)(Code) | | Removes the effect
Parameters: effect - The effect to remove |
update | public boolean update()(Code) | | Called when the timer fires. It updates any effects that need updating,
removes any that have finished, and then if at leat one has updated
stimulates a repaint.
A boolean, if true, then a repaint should occur |
wakeEffect | public void wakeEffect(Effect effect)(Code) | | Wakes an inactive effect
Parameters: effect - The effect to wake |
|
|