Swing ===== The ``gt-swing`` module contains GUI and utility classes which are based on the Java Swing library. Its main use is to provide the visual components for the GeoTools `tutorial applications <../../tutorial/index.html>`_. You can also use it for basic display purposes in your own projects, or use the classes as a starting point for your own custom components. If you are unfamiliar with the Swing library, the Oracle `Swing tutorial `_ is a good place to start. This module is not intended to be a fully-featured GUI widget set for geospatial applications. The focus of the GeoTools project is on handling geospatial data, not developing user interface components. If you want to build a GIS application with all the GUI bells and whistles that's great and GeoTools is here to help you, but we can't do it for you. .. tip:: For a ready-made, fully-featured, extendable desktop GIS application based on GeoTools, see `uDig `_ which is based on `SWT `_ rather than Swing. **Maven**:: org.geotools gt-swing ${geotools.version} **Contents** .. sidebar:: Details .. toctree:: :maxdepth: 1 faq .. toctree:: :maxdepth: 1 jmappane jmapframe dialog wizard **Overview** The module is centered around ``JMapPane``, a spatially-aware canvas class which works with the GeoTools rendering system. If you need basic display services in your application this is the class you should start with. On the other hand, if you all need is to quickly display one or more layers, ``JMapFrame`` is your friend. This is a top-level frame class containing a ``JMapPane`` plus, optionally, a toolbar, status bar and layer list table. It is used extensively in the GeoTools tutorial applications. For simplest uses it has a static ``showMap`` method, as used in the GeoTools `Quickstart example <../../tutorial/quickstart/index.html>`_. The module also provides a small selection of dialog classes including ``JFileDataStoreChooser``, a format-aware version of Swing's ``JFileChooser``; ``JDataStoreWizard`` to prompt for connection parameters for a data store; ``JSimpleStyleDialog`` to set basic rendering style elements for vector layers; ``JCRSChooser`` to select a map projection. **History** Of all the GeoTools modules, gt-swing has the longest history of participation from the GeoTools user list, has seen no fewer than five module maintainers come and go (a bit like drummers in Spinal Tap), and has been branched off as a separate project at various points in its history. However, if this doesn't put you off and you have a brilliant idea, a bug-fix or, best of all, a patch, we would love to hear from you.