## visad.util
Class AnimationWidget

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JPanel
                      visad.util.AnimationWidget

All Implemented Interfaces:
  Accessible, ActionListener, ChangeListener, ControlListener, EventListener, ImageObserver, MenuContainer, ScalarMapListener, Serializable

public class AnimationWidget
extends JPanel
implements ActionListener, ChangeListener, ControlListener, ScalarMapListener

A widget that allows users to control aspects of animation (stop/start, step, animation speed and direction). It is initialized with the state of the AnimationControl for the ScalarMap used in the constructor. Once this widget is constructed, it should be used to control animation instead of using methods in AnimationControl. Once constructed, changes made using AnimationControl methods will not be reflected in this widget.

See Also:
  Serialized Form

Nested Class Summary

Nested classes inherited from class javax.swing.JPanel
`JPanel.AccessibleJPanel`

Nested classes inherited from class javax.swing.JComponent
`JComponent.AccessibleJComponent`

Nested classes inherited from class java.awt.Container
`Container.AccessibleAWTContainer`

Nested classes inherited from class java.awt.Component
`Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy`

Field Summary

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.Container
``

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
`AnimationWidget(ScalarMap smap)` construct an AnimationWidget linked to the Control in smap (which must be to Display.Animation) with auto-detecting ms/frame
`AnimationWidget(ScalarMap smap, int st)` construct an AnimationWidget linked to the Control in smap (which must be to Display.Animation) with specified ms/frame

Method Summary
`void` `actionPerformed(ActionEvent e)` ActionListener method used with JTextField and JButtons
`void` `controlChanged(ControlEvent e)` ControlListener method used for programmatically moving JSlider
`void` `controlChanged(ScalarMapControlEvent evt)` ScalarMapListener method used to detect new AnimationControl
`Dimension` `getPreferredSize()` Work-around for Swing bug where pack() doesn't display slider labels; actually, it still won't, but window will be the right size
`void` `mapChanged(ScalarMapEvent e)` ScalarMapListener method used to recompute JSlider bounds
`void` `stateChanged(ChangeEvent e)` ChangeListener method used with JSlider.

Methods inherited from class javax.swing.JPanel
`getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

Methods inherited from class javax.swing.JComponent

`addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, 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`

Constructor Detail

### AnimationWidget

    public AnimationWidget(ScalarMap smap)
                    throws VisADException,
                           RemoteException

  construct an AnimationWidget linked to the Control in smap (which must be to Display.Animation) with auto-detecting ms/frame

Parameters:
  `smap` - Display.Animation ScalarMap

### AnimationWidget

    public AnimationWidget(ScalarMap smap,
                           int st)
                    throws VisADException,
                           RemoteException

  construct an AnimationWidget linked to the Control in smap (which must be to Display.Animation) with specified ms/frame

Parameters:
  `smap` - Display.Animation ScalarMap
  `st` - animation speed (ms/frame). If value is negative, the default speed set in the Control is used.

Method Detail

### actionPerformed

    public void actionPerformed(ActionEvent e)

  ActionListener method used with JTextField and JButtons

  Specified by:
    `actionPerformed` in interface `ActionListener`

### stateChanged

    public void stateChanged(ChangeEvent e)

  ChangeListener method used with JSlider.

  Specified by:
    `stateChanged` in interface `ChangeListener`

### controlChanged

    public void controlChanged(ControlEvent e)

  ControlListener method used for programmatically moving JSlider

  Specified by:
    `controlChanged` in interface `ControlListener`

### mapChanged

    public void mapChanged(ScalarMapEvent e)

  ScalarMapListener method used to recompute JSlider bounds

  Specified by:
    `mapChanged` in interface `ScalarMapListener`
  Parameters:
    `e` - the event

### controlChanged

    public void controlChanged(ScalarMapControlEvent evt)

  ScalarMapListener method used to detect new AnimationControl

  Specified by:
    `controlChanged` in interface `ScalarMapListener`
  Parameters:
    `evt` - the event

### getPreferredSize

    public Dimension getPreferredSize()

  Work-around for Swing bug where pack() doesn't display slider labels; actually, it still won't, but window will be the right size