edu.wisc.ssec.mcidasv.ui
Class McIdasFrameDisplay

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by edu.wisc.ssec.mcidasv.ui.McIdasFrameDisplay
All Implemented Interfaces:
ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible

public class McIdasFrameDisplay
extends JPanel
implements ActionListener

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
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
private  boolean antiAlias
           
static boolean bigIcon
          Do we show the big icon
static String CMD_BACKWARD
          property for setting the widget to the loop in reverse
static String CMD_BEGINNING
          property for setting the widget to the first frame
static String CMD_END
          property for setting the widget to the last frame
static String CMD_FORWARD
          property for setting the widget to the loop forward
static String CMD_INDEX
          Flag for changing the INDEX
static String CMD_STARTSTOP
          property for setting the widget to the start or stop
private  Dimension d
           
private  JTextField displayRateFld
          display rate field
private  Integer frameIndex
           
private  Integer frameNumber
           
private  List frameNumbers
           
private static JRadioButton hiBtn
          hi res button
private  Hashtable images
           
private  JComboBox indicator
           
private  boolean isLooping
           
private  int loopDwell
           
private  Thread loopThread
           
private static JRadioButton lowBtn
          low res button
private static JRadioButton medBtn
          medium res button
private  JPanelImage pi
           
private static Icon startIcon
          start icon
(package private)  AbstractButton startStopBtn
          The start/stop button
private static Icon stopIcon
          stop icon
private  Image theImage
           
 
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
McIdasFrameDisplay(List frameNumbers)
           
McIdasFrameDisplay(List frameNumbers, Dimension d)
           
 
Method Summary
 void actionPerformed(ActionEvent e)
          Public by implementing ActionListener.
private  void actionPerformed(String cmd)
          Handle the action
private  Component doMakeAntiAlias()
          Make the UI for anti-aliasing controls
private  JComponent doMakeVCR()
          Make the UI for VCR controls.
 void doSaveImage()
          Save the image
 void doSaveImageInThread()
          User has requested saving display as an image.
 void doSaveMovie()
          Save the movie
 void doSaveMovieInThread()
          User has requested saving display as a movie.
 int getFrameNumber()
           
private  String getIcon(String name)
          Get the correct icon name based on whether we are in big icon mode
private  int getIndexNext()
           
private  int getIndexPrevious()
           
private  JComponent makeSlider()
          Make the value slider
private  void paintFrame()
           
private  void runLoop()
           
 void setFrameImage(int inFrame, Image inImage)
           
 void showFrameFirst()
           
 void showFrameLast()
           
 void showFrameNext()
           
 void showFrameNumber(int inFrame)
           
 void showFramePrevious()
           
private  void showIndexNumber(int inIndex)
           
 void startLoop(boolean goFirst)
           
 void stopLoop(boolean goFirst)
           
 void toggleLoop(boolean goFirst)
           
private  void updateRunButton()
          Update the icon in the run button
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, 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
 
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, 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
 

Field Detail

bigIcon

public static boolean bigIcon
Do we show the big icon


startStopBtn

AbstractButton startStopBtn
The start/stop button


stopIcon

private static Icon stopIcon
stop icon


startIcon

private static Icon startIcon
start icon


CMD_INDEX

public static final String CMD_INDEX
Flag for changing the INDEX

See Also:
Constant Field Values

CMD_BEGINNING

public static final String CMD_BEGINNING
property for setting the widget to the first frame

See Also:
Constant Field Values

CMD_BACKWARD

public static final String CMD_BACKWARD
property for setting the widget to the loop in reverse

See Also:
Constant Field Values

CMD_STARTSTOP

public static final String CMD_STARTSTOP
property for setting the widget to the start or stop

See Also:
Constant Field Values

CMD_FORWARD

public static final String CMD_FORWARD
property for setting the widget to the loop forward

See Also:
Constant Field Values

CMD_END

public static final String CMD_END
property for setting the widget to the last frame

See Also:
Constant Field Values

hiBtn

private static JRadioButton hiBtn
hi res button


medBtn

private static JRadioButton medBtn
medium res button


lowBtn

private static JRadioButton lowBtn
low res button


displayRateFld

private JTextField displayRateFld
display rate field


frameNumber

private Integer frameNumber

frameIndex

private Integer frameIndex

frameNumbers

private List frameNumbers

images

private Hashtable images

theImage

private Image theImage

pi

private JPanelImage pi

indicator

private JComboBox indicator

d

private Dimension d

loopThread

private Thread loopThread

isLooping

private boolean isLooping

loopDwell

private int loopDwell

antiAlias

private boolean antiAlias
Constructor Detail

McIdasFrameDisplay

public McIdasFrameDisplay(List frameNumbers)

McIdasFrameDisplay

public McIdasFrameDisplay(List frameNumbers,
                          Dimension d)
Method Detail

doMakeAntiAlias

private Component doMakeAntiAlias()
Make the UI for anti-aliasing controls

Returns:
UI as a Component

doMakeVCR

private JComponent doMakeVCR()
Make the UI for VCR controls.

Returns:
UI as a Component

getIcon

private String getIcon(String name)
Get the correct icon name based on whether we are in big icon mode

Parameters:
name - base name
Returns:
Full path to icon

actionPerformed

public void actionPerformed(ActionEvent e)
Public by implementing ActionListener.

Specified by:
actionPerformed in interface ActionListener
Parameters:
e - ActionEvent to check

actionPerformed

private void actionPerformed(String cmd)
Handle the action

Parameters:
cmd - The action

updateRunButton

private void updateRunButton()
Update the icon in the run button


setFrameImage

public void setFrameImage(int inFrame,
                          Image inImage)

getIndexPrevious

private int getIndexPrevious()

getIndexNext

private int getIndexNext()

showFramePrevious

public void showFramePrevious()

showFrameNext

public void showFrameNext()

showFrameFirst

public void showFrameFirst()

showFrameLast

public void showFrameLast()

toggleLoop

public void toggleLoop(boolean goFirst)

startLoop

public void startLoop(boolean goFirst)

stopLoop

public void stopLoop(boolean goFirst)

runLoop

private void runLoop()

showIndexNumber

private void showIndexNumber(int inIndex)

showFrameNumber

public void showFrameNumber(int inFrame)

getFrameNumber

public int getFrameNumber()

paintFrame

private void paintFrame()

makeSlider

private JComponent makeSlider()
Make the value slider

Returns:
The slider button

doSaveImageInThread

public void doSaveImageInThread()
User has requested saving display as an image. Prompt for a filename and save the image to it.


doSaveImage

public void doSaveImage()
Save the image


doSaveMovieInThread

public void doSaveMovieInThread()
User has requested saving display as a movie. Prompt for a filename and save the images to it.


doSaveMovie

public void doSaveMovie()
Save the movie