# Class CRSChooser

Object
Dialog<CoordinateReferenceSystem>
CRSChooser

All Implemented Interfaces:
  `EventTarget`

public class CRSChooser extends Dialog<CoordinateReferenceSystem>
A list of Coordinate Reference Systems (CRS) from which the user can select. The CRS choices is built in a background thread from a specified `CRSAuthorityFactory`.

Since:
  1.1

- ## Property Summary

  ### Properties inherited from class Dialog

  `contentText, dialogPane, graphic, headerText, height, onCloseRequest, onHidden, onHiding, onShowing, onShown, resizable, resultConverter, result, showing, title, width, x, y`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CRSChooser()`
  Creates a chooser proposing all coordinate reference systems from the default factory.
  `CRSChooser(CRSAuthorityFactory factory, Envelope areaOfInterest, Locale locale)`
  Creates a chooser proposing all coordinate reference systems from the given factory.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Optional<CoordinateReferenceSystem>`
  `showDialog(Window parent)`
  Shows a dialog to select a `CoordinateReferenceSystem`.

  ### Methods inherited from class Dialog

  `addEventFilter, addEventHandler, buildEventDispatchChain, close, contentTextProperty, dialogPaneProperty, getContentText, getDialogPane, getGraphic, getHeaderText, getHeight, getModality, getOnCloseRequest, getOnHidden, getOnHiding, getOnShowing, getOnShown, getOwner, getResult, getResultConverter, getTitle, getWidth, getX, getY, graphicProperty, headerTextProperty, heightProperty, hide, initModality, initOwner, initStyle, isResizable, isShowing, onCloseRequestProperty, onHiddenProperty, onHidingProperty, onShowingProperty, onShownProperty, removeEventFilter, removeEventHandler, resizableProperty, resultConverterProperty, resultProperty, setContentText, setDialogPane, setGraphic, setHeaderText, setHeight, setOnCloseRequest, setOnHidden, setOnHiding, setOnShowing, setOnShown, setResizable, setResult, setResultConverter, setTitle, setWidth, setX, setY, show, showAndWait, showingProperty, titleProperty, widthProperty, xProperty, yProperty`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### CRSChooser

    public CRSChooser()
    Creates a chooser proposing all coordinate reference systems from the default factory.

  - ### CRSChooser

    public CRSChooser(CRSAuthorityFactory factory, Envelope areaOfInterest, Locale locale)
    Creates a chooser proposing all coordinate reference systems from the given factory. If the given factory is `null`, then a default factory capable to handle at least some EPSG codes will be used.
    Parameters:
      `factory` - the factory to use for creating coordinate reference systems, or `null` for default.
      `areaOfInterest` - geographic area for which to choose a CRS, or `null` if no restriction.
      `locale` - the preferred locale for displaying object name, or `null` for the default locale.

- ## Method Details

  - ### showDialog

    public Optional<CoordinateReferenceSystem> showDialog(Window parent)
    Shows a dialog to select a `CoordinateReferenceSystem`.
    Parameters:
      `parent` - parent frame of dialog, or `null` for an unowned dialog.
    Returns:
      the selected `CoordinateReferenceSystem`, or empty if none.