schmitzm.geotools.gui
Class GeoMapPane

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 schmitzm.swing.JPanel
                      extended by schmitzm.geotools.gui.GeoMapPane
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class GeoMapPane
extends JPanel

Das GeoMapPane erweitert das JMapPane um einen Massstab-Balken, sowie ein horizontales und vertikales Koordinaten-Raster (Grid), in dem die Geo-Referenz des angezeigten Karten-Bereichs in Welt-Koordinaten (Grad, Minuten) dargestellt ist.

Version:
1.0
Author:
Martin Schmitz
See Also:
ScalePane, GridPanel, 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
static String DLC_HGRID
          Konstante fuer das horizontale Koordinaten-Grid.
static String DLC_MAP
          Konstante fuer die Karte.
static String DLC_SCALE
          Konstante fuer den Massstab-Balken.
static String DLC_VGRID
          Konstante fuer das vertikale Koordinaten-Grid.
protected  GridPanel horGrid
          Horizontale Koordinaten-Leiste (Grid).
protected  HashMap<String,GridBagConstraints> layoutConstraints
          Werte fuer die grafische Anordnung der Layout-Komponenten.
protected  JMapPane mapPane
          Karten-Bereich des GeoMapPane.
protected  ScalePane scalePane
          Massstab-Balken
protected  GridPanel vertGrid
          Vertikale Koordinaten-Leiste (Grid).
 
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
GeoMapPane()
          Erzeugt ein neues GeoMapPane.
GeoMapPane(JMapPane mapPane, GridPanel vGrid, GridPanel hGrid, ScalePane scalePane, GTRenderer renderer)
          Erzeugt ein neues GeoMapPane.
 
Method Summary
 void dispose()
          Should be called when the GeoMapPane is not needed no more to help the GarbageCollector
 MapContext getMapContext()
          Liefert den MapContext der die einzelnen Karten-Layer verwaltet.
 JMapPane getMapPane()
          Liefert das JMapPane, in dem die Karten dargestellt werden.
protected  void guiInit()
          Wird vom Konstruktor aufgerufen und initialisiert die grafische Darstellung/Anordnung der einzelnen GUI-Komponenten in einem GridBagLayout.
 boolean isDisposed()
           
 void paint(Graphics g)
          Nach dem super-Aufruf, wird der Massstab neu gesetzt (und somit neu angezeigt), falls sich der Massstab der Karte geaendert hat.
 void print(Graphics g)
          Nuetzlich wenn die Componente gedruckt (z.B. wenn ein Screenshot gemacht wird) wird.
 void refreshMap()
          Aktualisiert die Karten-Darstellung.
 void setBackground(Color color)
          Setzt die Hintergrundfarbe des kompletten GeoMapPane.
 
Methods inherited from class schmitzm.swing.JPanel
setBackground, setEnabled
 
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, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, 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
 

Field Detail

DLC_VGRID

public static final String DLC_VGRID
Konstante fuer das vertikale Koordinaten-Grid.

See Also:
layoutConstraints, Constant Field Values

DLC_HGRID

public static final String DLC_HGRID
Konstante fuer das horizontale Koordinaten-Grid.

See Also:
layoutConstraints, Constant Field Values

DLC_MAP

public static final String DLC_MAP
Konstante fuer die Karte.

See Also:
layoutConstraints, Constant Field Values

DLC_SCALE

public static final String DLC_SCALE
Konstante fuer den Massstab-Balken.

See Also:
layoutConstraints, Constant Field Values

layoutConstraints

protected HashMap<String,GridBagConstraints> layoutConstraints
Werte fuer die grafische Anordnung der Layout-Komponenten. Ueber die Konstanten DLC_MAP, DLC_VGRID, DLC_HGRID und DLC_SCALE koennen die Constraints (am Anfang von guiInit()) veraendert oder erweitert werden.


mapPane

protected JMapPane mapPane
Karten-Bereich des GeoMapPane.


scalePane

protected ScalePane scalePane
Massstab-Balken


vertGrid

protected GridPanel vertGrid
Vertikale Koordinaten-Leiste (Grid). Zeigt die Latitude-Koordinate in Grad und Minutenm an.


horGrid

protected GridPanel horGrid
Horizontale Koordinaten-Leiste (Grid). Zeigt die Longitude-Koordinate in Grad und Minutenm an.

Constructor Detail

GeoMapPane

public GeoMapPane()
Erzeugt ein neues GeoMapPane.


GeoMapPane

public GeoMapPane(JMapPane mapPane,
                  GridPanel vGrid,
                  GridPanel hGrid,
                  ScalePane scalePane,
                  GTRenderer renderer)
Erzeugt ein neues GeoMapPane. Dieser Konstruktor bietet die Moeglichkeit, alternative Implementierungen der einzelnen Komponenten darzustellen. Die uebergebenen Parameter koennen null sein! In diesem Fall wird die entsprechende Standard-Implementierung verwendet.

Parameters:
mapPane - Karten-Bereich
vGrid - vertikales Koordinaten-Raster
hGrid - horizontales Koordinaten-Raster
scalePane - Massstab-Balken
renderer - Allows you to choose between the StreamingRenderer which is cool for creating PDF, SVG.. And the much faster ShapefileRenderer.
Method Detail

guiInit

protected void guiInit()
Wird vom Konstruktor aufgerufen und initialisiert die grafische Darstellung/Anordnung der einzelnen GUI-Komponenten in einem GridBagLayout. Die Constraints fuer die Anordnung der Komponenten sind in layoutConstraints hinterlegt und koennen zu beginn dieser Methode ueberschrieben oder erweitert werden.


refreshMap

public void refreshMap()
Aktualisiert die Karten-Darstellung.

See Also:
JMapPane.refresh()

paint

public void paint(Graphics g)
Nach dem super-Aufruf, wird der Massstab neu gesetzt (und somit neu angezeigt), falls sich der Massstab der Karte geaendert hat. Dies ist ein Workaround, damit der Massstab auch beim allerersten anzeigen korrekt angezeigt wird (ohne ScaleChangedEvent).

Overrides:
paint in class JComponent

getMapPane

public final JMapPane getMapPane()
Liefert das JMapPane, in dem die Karten dargestellt werden.


getMapContext

public final MapContext getMapContext()
Liefert den MapContext der die einzelnen Karten-Layer verwaltet.


setBackground

public void setBackground(Color color)
Setzt die Hintergrundfarbe des kompletten GeoMapPane.

Overrides:
setBackground in class JComponent
Parameters:
color - Hintergrundfarbe

isDisposed

public boolean isDisposed()
Returns:
If dispose() has been called. If true<(code>, further use of this GeoMapPane is undefined

dispose

public void dispose()
Should be called when the GeoMapPane is not needed no more to help the GarbageCollector


print

public void print(Graphics g)
Nuetzlich wenn die Componente gedruckt (z.B. wenn ein Screenshot gemacht wird) wird. Dann werden wird der Hintergrund auf WEISS gesetzt.

Overrides:
print in class JComponent