ucar.unidata.view.sounding
Class WindBarbStaff

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 ucar.unidata.view.sounding.WindBarbStaff
All Implemented Interfaces:
ImageObserver, MenuContainer, PropertyChangeListener, Serializable, EventListener, Accessible

public class WindBarbStaff
extends JPanel
implements PropertyChangeListener

Provides support for displaying a vertical profile of the horizontal wind as a set of wind arrows off a vertical staff.

Version:
$Id: WindBarbStaff.java,v 1.12 2005/05/13 18:33:40 jeffmc Exp $
Author:
Don Murray
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
 
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
WindBarbStaff()
          Construct a new wind staff display using the default maximum and minimum heights.
WindBarbStaff(float minZ, float maxZ)
          Construct a new wind staff display using the default maximum and minimum heights.
 
Method Summary
static void main(String[] args)
          Tests this class.
 void propertyChange(PropertyChangeEvent pce)
          Handles a change to a property that's being listened to.
 void resetWindProfile()
          Set the wind profile to be displayed.
 void setBarbOrientation(int orientation)
          Sets the orientation of the wind barbs
 void setWindProfile(Field windProfile)
          Set the wind profile to be displayed.
 void setWindProfileReference(DataReferenceImpl windProfileRef)
          Set the reference for the wind profile.
 void setWindStaffVisible(boolean value)
          Set the visibility of the line along which the barbs are plotted
 
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
 

Constructor Detail

WindBarbStaff

public WindBarbStaff()
              throws VisADException,
                     RemoteException
Construct a new wind staff display using the default maximum and minimum heights.

Throws:
VisADException - necessary VisAD object could not be created.
RemoteException - Java RMI exception

WindBarbStaff

public WindBarbStaff(float minZ,
                     float maxZ)
              throws VisADException,
                     RemoteException
Construct a new wind staff display using the default maximum and minimum heights.

Parameters:
minZ - Minimum geopotential height in meters
maxZ - Maximum geopotential height in meters
Throws:
VisADException - necessary VisAD object could not be created.
RemoteException - Java RMI exception
Method Detail

setWindProfile

public void setWindProfile(Field windProfile)
                    throws VisADException,
                           RemoteException
Set the wind profile to be displayed.

Parameters:
windProfile - Field of wind profile. Must be an instance of a CartesianHorizontalWindProfile
Throws:
VisADException - necessary VisAD object could not be created, profile is not changed.
RemoteException - Java RMI exception

setBarbOrientation

public void setBarbOrientation(int orientation)
                        throws VisADException,
                               RemoteException
Sets the orientation of the wind barbs

Parameters:
orientation - either FlowControl.NH_ORIENTATION or FlowControl.SH_ORIENTATION
Throws:
VisADException - necessary VisAD object could not be created, profile is not changed.
RemoteException - Java RMI exception

resetWindProfile

public void resetWindProfile()
                      throws VisADException,
                             RemoteException
Set the wind profile to be displayed.

Throws:
VisADException - necessary VisAD object could not be created, profile is not changed.
RemoteException - Java RMI exception

setWindProfileReference

public void setWindProfileReference(DataReferenceImpl windProfileRef)
                             throws VisADException,
                                    RemoteException
Set the reference for the wind profile.

Parameters:
windProfileRef - data reference to the wind profile
Throws:
VisADException - reference has already been set
RemoteException - if a Java RMI failure occurs.

setWindStaffVisible

public void setWindStaffVisible(boolean value)
                         throws VisADException,
                                RemoteException
Set the visibility of the line along which the barbs are plotted

Parameters:
value - if true, line is displayed, otherwise it is hidden
Throws:
VisADException - necessary VisAD object could not be created, visibility is not changed.
RemoteException - Java RMI exception

propertyChange

public void propertyChange(PropertyChangeEvent pce)
Handles a change to a property that's being listened to.

Specified by:
propertyChange in interface PropertyChangeListener
Parameters:
pce - The property-change event.

main

public static void main(String[] args)
                 throws Exception
Tests this class.

Parameters:
args - Invocation arguments. Ignored.
Throws:
Exception - A problem occurred.