com.croftsoft.core.animation
Class AnimatedComponent

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.croftsoft.core.animation.AnimatedComponent
All Implemented Interfaces:
Commissionable, Destroyable, Initializable, Lifecycle, Resumable, Startable, Stoppable, ImageObserver, MenuContainer, Serializable
Direct Known Subclasses:
BufferedAnimatedComponent, BufferStrategyAnimatedComponent

public class AnimatedComponent
extends JComponent
implements Lifecycle

Animated Swing component.

Since:
2002-03-10
Version:
$Id: AnimatedComponent.java,v 1.3 2008/09/28 21:49:39 croft Exp $
See Also:
Serialized Form
Author:
David Wallace Croft

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static String ANIMATION_THREAD_NAME
           
protected  Runnable animationRunner
           
protected  Thread animationThread
           
protected  ComponentAnimator componentAnimator
           
protected  LoopGovernor loopGovernor
           
protected  RepaintCollector repaintCollector
           
protected  boolean stopRequested
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AnimatedComponent(ComponentAnimator componentAnimator)
          Convenience constructor.
AnimatedComponent(ComponentAnimator componentAnimator, AnimationFactory animationFactory)
          Convenience constructor.
AnimatedComponent(ComponentAnimator componentAnimator, AnimationFactory animationFactory, double frequency)
          Convenience constructor.
AnimatedComponent(ComponentAnimator componentAnimator, double frequency)
          Convenience constructor.
AnimatedComponent(ComponentAnimator componentAnimator, RepaintCollector repaintCollector, LoopGovernor loopGovernor)
          Main constructor.
 
Method Summary
protected  void animate()
           
 void destroy()
           
 void init()
           
protected  void loop()
           
 void paintComponent(Graphics graphics)
           
 void repaint()
           
 void repaint(int x, int y, int width, int height)
           
 void repaint(long tm)
           
 void repaint(long tm, int x, int y, int width, int height)
           
 void repaint(Rectangle r)
           
 ComponentAnimator setComponentAnimator(ComponentAnimator componentAnimator)
           
 LoopGovernor setLoopGovernor(LoopGovernor loopGovernor)
           
 RepaintCollector setRepaintCollector(RepaintCollector repaintCollector)
           
 void start()
           
 void stop()
           
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ANIMATION_THREAD_NAME

public static final String ANIMATION_THREAD_NAME
See Also:
Constant Field Values

animationRunner

protected final Runnable animationRunner

componentAnimator

protected ComponentAnimator componentAnimator

repaintCollector

protected RepaintCollector repaintCollector

loopGovernor

protected LoopGovernor loopGovernor

animationThread

protected Thread animationThread

stopRequested

protected boolean stopRequested
Constructor Detail

AnimatedComponent

public AnimatedComponent(ComponentAnimator componentAnimator,
                         RepaintCollector repaintCollector,
                         LoopGovernor loopGovernor)
Main constructor.


AnimatedComponent

public AnimatedComponent(ComponentAnimator componentAnimator,
                         AnimationFactory animationFactory,
                         double frequency)
Convenience constructor.

Parameters:
frequency - The targeted update frequency in loops per second.

AnimatedComponent

public AnimatedComponent(ComponentAnimator componentAnimator,
                         AnimationFactory animationFactory)
Convenience constructor.


AnimatedComponent

public AnimatedComponent(ComponentAnimator componentAnimator,
                         double frequency)
Convenience constructor.

Parameters:
frequency - The targeted update frequency in loops per second.

AnimatedComponent

public AnimatedComponent(ComponentAnimator componentAnimator)
Convenience constructor.

Method Detail

setComponentAnimator

public ComponentAnimator setComponentAnimator(ComponentAnimator componentAnimator)

setRepaintCollector

public RepaintCollector setRepaintCollector(RepaintCollector repaintCollector)

setLoopGovernor

public LoopGovernor setLoopGovernor(LoopGovernor loopGovernor)

init

public void init()
Specified by:
init in interface Initializable

start

public void start()
Specified by:
start in interface Startable

stop

public void stop()
Specified by:
stop in interface Stoppable

destroy

public void destroy()
Specified by:
destroy in interface Destroyable

paintComponent

public void paintComponent(Graphics graphics)
Overrides:
paintComponent in class JComponent

repaint

public void repaint()
Overrides:
repaint in class Component

repaint

public void repaint(long tm)
Overrides:
repaint in class Component

repaint

public void repaint(int x,
                    int y,
                    int width,
                    int height)
Overrides:
repaint in class Component

repaint

public void repaint(long tm,
                    int x,
                    int y,
                    int width,
                    int height)
Overrides:
repaint in class JComponent

repaint

public void repaint(Rectangle r)
Overrides:
repaint in class JComponent

loop

protected void loop()

animate

protected void animate()

CroftSoft Javadoc

CroftSoft Core Javadoc (2008-09-28 20:58:02)