Class LatLonWidget

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class LatLonWidget extends JPanel
A widget that provides a Lat/Lon entry box.
See Also:
  • Constructor Details

    • 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 Details

    • 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