schmitzm.geotools.gui
Class CRSSelectionDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by schmitzm.geotools.gui.CRSSelectionDialog
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class CRSSelectionDialog
extends JDialog

Dieser Dialog stellt verschiedene CoordinateReferenceSystem (CRS) zur Auswahl. Neben einer Auswahl von vordefinierten CRS, wird WGS-84, sowie (optional) ein beliebiges Standard-CRS dargestellt. Zudem kann in einem Text-Feld die WKT-Spezifikation manuell eingegeben oder editiert werden.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JDialog
JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityType
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
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
protected  SelectionInputOption.Combo<String> authoritySelect
          Auswahl-Feld fuer die Authority.
protected  ButtonGroup buttonGroup
          Gruppe der Auswahl-Buttons.
protected  JButton cancelButton
          Der Abbrechen-Button des Dialogs.
protected  JPanel contentPane
          Panel (mit GridBagLayout), in dem die Meldung und Radio-Buttons angezeigt werden.
protected  SelectionInputOption.Combo<CoordinateReferenceSystem> crsSelect
          Auswahl-Feld fuer das Authority-CRS.
protected  JRadioButton defaultButton
          Radio-Button fuer das Standard-CRS.
protected  CoordinateReferenceSystem defaultCRS
          Das als "Standard" angebotene CRS.
protected  JTextArea messageLabel
          Label in dem die Meldung angezeigt wird.
protected  JButton okButton
          Der OK-Button des Dialogs.
protected  Component parent
          Dem Dialog uebergeordnete Komponente.
protected  JRadioButton predefinedButton
          Radio-Button fuer ein vordefiniertes CRS.
protected static SortedMap<String,SortedMap<String,CoordinateReferenceSystem>> predefinedCRS
          Beinhaltet die vordefinierten CRS.
protected  JCheckBox rememberCheckbox
          Die Checkbox "Immer diese Auswahl treffen" des Dialogs.
protected  CoordinateReferenceSystem selectedCRS
          Das ausgewaehlte CRS.
protected  JRadioButton userButton
          Radio-Button fuer ein benutzerdefiniertes CRS.
protected  JRadioButton wgs84Button
          Radio-Button fuer das WGS84-CRS.
protected  JScrollPane wktScrollPane
          ScrollPane, in dem sich die TextArea fuer die WKT-Definition befinden.
protected  JTextArea wktTextArea
          Bereich, in dem das CRS als WKT angezeigt wird.
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
CRSSelectionDialog(Component parent, String message, boolean cancelAllowed, boolean rememberOption, CoordinateReferenceSystem defaultCRS)
          Erzeugt einen neuen Fehler-Dialog.
 
Method Summary
protected  JRadioButton createRadioButton(String label)
          Erzeugt einen neuen Radio-Button und fuegt diesen in die buttonGroup ein.
 CoordinateReferenceSystem getCRS()
          Liefert das ausgewaehlte CRS.
 String getMessage()
          Liefert die angezeigte Meldung.
 AbstractButton getSelectedButton()
          Liefert den ausgewaehlen Radio-Button.
protected  void initPredefinedCRS()
          Initialisiert die zur Verfuegung stehenden CRS.
 boolean isCanceled()
          Prueft, ob der Dialog abgebrochen wurde.
 boolean isConfirmed()
          Prueft, ob der Dialog via OK beendet wurde.
 boolean isRememberOptionSet()
          Prueft, ob die "Immer diese Auswahl treffen" Option im Dialog angewaehlt ist.
protected  void performButton(AbstractButton button)
          Fuehrt die Aktion eines Buttons aus (Radio- oder Dialog-Button).
protected  void resetWKT(CoordinateReferenceSystem crs)
          Belegt das WKT-Feld neu.
static CoordinateReferenceSystem show(Component parent, String message, boolean cancelAllowed, boolean alwaysOption, CoordinateReferenceSystem defaultCRS)
          Zeigt einen CRS-Auswahl-Dialog an.
static CoordinateReferenceSystem show(Component parent, String message, CoordinateReferenceSystem defaultCRS)
          Zeigt einen CRS-Auswahl-Dialog an, der abgebrochen werden kann.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

predefinedCRS

protected static SortedMap<String,SortedMap<String,CoordinateReferenceSystem>> predefinedCRS
Beinhaltet die vordefinierten CRS. Die Map beinhaltet pro Authority eine Map mit den CRS.


messageLabel

protected JTextArea messageLabel
Label in dem die Meldung angezeigt wird.


wgs84Button

protected JRadioButton wgs84Button
Radio-Button fuer das WGS84-CRS.


defaultButton

protected JRadioButton defaultButton
Radio-Button fuer das Standard-CRS.


predefinedButton

protected JRadioButton predefinedButton
Radio-Button fuer ein vordefiniertes CRS.


authoritySelect

protected SelectionInputOption.Combo<String> authoritySelect
Auswahl-Feld fuer die Authority.


crsSelect

protected SelectionInputOption.Combo<CoordinateReferenceSystem> crsSelect
Auswahl-Feld fuer das Authority-CRS.


userButton

protected JRadioButton userButton
Radio-Button fuer ein benutzerdefiniertes CRS.


buttonGroup

protected ButtonGroup buttonGroup
Gruppe der Auswahl-Buttons.


wktTextArea

protected JTextArea wktTextArea
Bereich, in dem das CRS als WKT angezeigt wird.


wktScrollPane

protected JScrollPane wktScrollPane
ScrollPane, in dem sich die TextArea fuer die WKT-Definition befinden.


rememberCheckbox

protected JCheckBox rememberCheckbox
Die Checkbox "Immer diese Auswahl treffen" des Dialogs.


okButton

protected JButton okButton
Der OK-Button des Dialogs.


cancelButton

protected JButton cancelButton
Der Abbrechen-Button des Dialogs.


defaultCRS

protected CoordinateReferenceSystem defaultCRS
Das als "Standard" angebotene CRS.


selectedCRS

protected CoordinateReferenceSystem selectedCRS
Das ausgewaehlte CRS.


contentPane

protected JPanel contentPane
Panel (mit GridBagLayout), in dem die Meldung und Radio-Buttons angezeigt werden.


parent

protected Component parent
Dem Dialog uebergeordnete Komponente.

Constructor Detail

CRSSelectionDialog

public CRSSelectionDialog(Component parent,
                          String message,
                          boolean cancelAllowed,
                          boolean rememberOption,
                          CoordinateReferenceSystem defaultCRS)
Erzeugt einen neuen Fehler-Dialog. Der Dialog wird relativ zum Parent-Fenster zentriert.

Parameters:
parent - uebergeordnetes Fenster (kann null sein!)
message - einleitende Meldung (kann null sein!)
cancelAllowed - wenn false, kann der Dialog nicht abgebrochen werden
rememberOption - wenn true wird eine Checkbox "Immer diese Auswahl treffen" angezeigt
defaultCRS - das als Standard angebotene CRS (kann null sein)
Method Detail

initPredefinedCRS

protected void initPredefinedCRS()
Initialisiert die zur Verfuegung stehenden CRS.


performButton

protected void performButton(AbstractButton button)
Fuehrt die Aktion eines Buttons aus (Radio- oder Dialog-Button).

Parameters:
button - der aktivierte Button

createRadioButton

protected JRadioButton createRadioButton(String label)
Erzeugt einen neuen Radio-Button und fuegt diesen in die buttonGroup ein.

Parameters:
label - Label fuer den Radio-Button

resetWKT

protected void resetWKT(CoordinateReferenceSystem crs)
Belegt das WKT-Feld neu. Jedoch nur, wenn sich der Text aendert, damit nach Moeglichkeit die Caret-Position erhalten bleibt.

Parameters:
crs - darzustellendes CRS

getMessage

public String getMessage()
Liefert die angezeigte Meldung.


getSelectedButton

public AbstractButton getSelectedButton()
Liefert den ausgewaehlen Radio-Button.


isCanceled

public boolean isCanceled()
Prueft, ob der Dialog abgebrochen wurde.


isConfirmed

public boolean isConfirmed()
Prueft, ob der Dialog via OK beendet wurde.


isRememberOptionSet

public boolean isRememberOptionSet()
Prueft, ob die "Immer diese Auswahl treffen" Option im Dialog angewaehlt ist.

Returns:
false solange der OK-Button noch nicht betaetigt wurde

getCRS

public CoordinateReferenceSystem getCRS()
Liefert das ausgewaehlte CRS.

Returns:
null solange der OK-Button noch nicht betaetigt wurde

show

public static CoordinateReferenceSystem show(Component parent,
                                             String message,
                                             boolean cancelAllowed,
                                             boolean alwaysOption,
                                             CoordinateReferenceSystem defaultCRS)
Zeigt einen CRS-Auswahl-Dialog an.

Parameters:
parent - uebergeordnetes Fenster (kann null sein!)
message - einleitende Meldung (kann null sein!)
cancelAllowed - wenn false, kann der Dialog nicht abgebrochen werden
rememberOption - wenn true wird eine Checkbox "Immer diese Auswahl treffen" angezeigt
defaultCRS - das als Standard angebotene CRS (kann null sein)

show

public static CoordinateReferenceSystem show(Component parent,
                                             String message,
                                             CoordinateReferenceSystem defaultCRS)
Zeigt einen CRS-Auswahl-Dialog an, der abgebrochen werden kann. Die Eigenschaft "immer diese Auswahl treffen" kann nicht eingestellt werden.

Parameters:
parent - uebergeordnetes Fenster (kann null sein!)
message - einleitende Meldung (kann null sein!)
defaultCRS - das als Standard angebotene CRS (kann null sein)
See Also:
CRS#decode(String, boolean)