ucar.unidata.ui
Class LatLonWidget

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.ui.LatLonWidget
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class LatLonWidget
extends JPanel

A widget that provides a Lat/Lon entry box.

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
LatLonWidget()
          Create a widget with the blank values for latitude and longitude and with the default field labels.
LatLonWidget(ActionListener actionListener)
          Create a widget with blank values for latitude and longitude and with the default field labels.
LatLonWidget(double lat, double lon)
          Create a widget with the given initial values for latitude and longitude.
LatLonWidget(String latLabel, String lonLabel, ActionListener actionListener)
          Create a widget with the blank values for latitude and longitude and with the given Strings for the field labels.
LatLonWidget(String latLabel, String lonLabel, String altLabel, ActionListener actionListener)
          Create a widget with the blank values for latitude and longitude and with the given Strings for the field labels.
 
Method Summary
 void clear()
          Clear the contents of the lat/lon text fields.
protected  String formatLatLonString(String latOrLon)
          Format the lat or lon string
 double getAlt()
          Get the altitude
 JTextField getAltField()
          Get the text field for the alt.
 boolean getDoFormat()
          Get the DoFormat property.
 double getLat()
          Get a latitude
 JTextField getLatField()
          Get the text field for the latitude.
 double getLon()
          Get a longitude
 JTextField getLonField()
          Get the text field for the longitude.
 boolean isAltDefined()
          Is there any text entered in the alt field and is it enabled.
 boolean isDefined(String s)
          See if the value is defined
 boolean isLatDefined()
          Is there any text entered in the lat field and is it enabled.
 boolean isLatLonDefined()
          Is there any text entered in both the lat and the lon field.
 boolean isLonDefined()
          Is there any text entered in the lon field and is it enabled.
 String isValidValues()
          Check if the current field values are valid.
 void setAlt(double alt)
          Set the value of the alt field.
 void setAlt(String altString)
          Set the value of the alt field with the given String value.
 void setDoFormat(boolean value)
          Set the DoFormat property.
 void setLat(double lat)
          Set the value of the latitude field.
 void setLat(String latString)
          Set the value of the lat field with the given String value.
 void setLatLon(double lat, double lon)
          Set the value of the lat and lon fields.
 void setLatLon(String lat, String lon)
          Set the value of the lat and lon fields.
 void setLon(double lon)
          Set the value of the longitude field.
 void setLon(String lonString)
          Set the value of the lon field with the given String value.
 
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

LatLonWidget

public LatLonWidget(ActionListener actionListener)
Create a widget with blank values for latitude and longitude and with the default field labels. Add the given ActionListener to the text fields.

Parameters:
actionListener -

LatLonWidget

public LatLonWidget()
Create a widget with the blank values for latitude and longitude and with the default field labels.


LatLonWidget

public LatLonWidget(String latLabel,
                    String lonLabel,
                    ActionListener actionListener)
Create a widget with the blank values for latitude and longitude and with the given Strings for the field labels. If the given ActionListener is non-null then add it to the text fields.

Parameters:
latLabel -
lonLabel -
actionListener -

LatLonWidget

public LatLonWidget(String latLabel,
                    String lonLabel,
                    String altLabel,
                    ActionListener actionListener)
Create a widget with the blank values for latitude and longitude and with the given Strings for the field labels. If the given ActionListener is non-null then add it to the text fields.

Parameters:
latLabel -
lonLabel -
altLabel - If non-null then add an alt field
actionListener -

LatLonWidget

public LatLonWidget(double lat,
                    double lon)
Create a widget with the given initial values for latitude and longitude.

Parameters:
lat -
lon -
Method Detail

setLatLon

public void setLatLon(double lat,
                      double lon)
Set the value of the lat and lon fields.

Parameters:
lat -
lon -

setLatLon

public void setLatLon(String lat,
                      String lon)
Set the value of the lat and lon fields.

Parameters:
lat -
lon -

setLat

public void setLat(String latString)
Set the value of the lat field with the given String value.

Parameters:
latString -

setLon

public void setLon(String lonString)
Set the value of the lon field with the given String value.

Parameters:
lonString -

setAlt

public void setAlt(String altString)
Set the value of the alt field with the given String value.

Parameters:
altString -

setLat

public void setLat(double lat)
Set the value of the latitude field.

Parameters:
lat -

setLon

public void setLon(double lon)
Set the value of the longitude field.

Parameters:
lon -

setAlt

public void setAlt(double alt)
Set the value of the alt field.

Parameters:
alt -

clear

public void clear()
Clear the contents of the lat/lon text fields.


isDefined

public boolean isDefined(String s)
See if the value is defined

Parameters:
s - the value
Returns:
true if it is defined

isLatDefined

public boolean isLatDefined()
Is there any text entered in the lat field and is it enabled.

Returns:
do we have a lat

isLonDefined

public boolean isLonDefined()
Is there any text entered in the lon field and is it enabled.

Returns:
do we have a lon

isAltDefined

public boolean isAltDefined()
Is there any text entered in the alt field and is it enabled.

Returns:
do we have alt

isLatLonDefined

public boolean isLatLonDefined()
Is there any text entered in both the lat and the lon field.

Returns:
true if defined

isValidValues

public String isValidValues()
Check if the current field values are valid. If invalid then return a String error message. If the values are valid then return null. The fields are invalid if there is non-whitespace text entered in both fields and the text does not convert to a double or the values are outside the range (for lat) -90,90 and (for lon) -180,180.

Returns:
error message

getLat

public double getLat()
              throws NumberFormatException
Get a latitude

Returns:
the latitude
Throws:
NumberFormatException - illegal number

getLon

public double getLon()
              throws NumberFormatException
Get a longitude

Returns:
the longitude
Throws:
NumberFormatException - illegal number

getAlt

public double getAlt()
              throws NumberFormatException
Get the altitude

Returns:
the altitude
Throws:
NumberFormatException - illegal number

getLatField

public JTextField getLatField()
Get the text field for the latitude.

Returns:
The Lat field.

getLonField

public JTextField getLonField()
Get the text field for the longitude.

Returns:
The Lon field.

getAltField

public JTextField getAltField()
Get the text field for the alt.

Returns:
The alt field.

formatLatLonString

protected String formatLatLonString(String latOrLon)
Format the lat or lon string

Parameters:
latOrLon - lat or lon value as a string in decimal notation
Returns:
value in regional formatting

setDoFormat

public void setDoFormat(boolean value)
Set the DoFormat property.

Parameters:
value - The new value for DoFormat

getDoFormat

public boolean getDoFormat()
Get the DoFormat property.

Returns:
The DoFormat