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 SelectableXMapPane um einen Massstab-Balken, sowie ein horizontales und vertikales Koordinaten-Raster (Grid), in dem die Geo-Referenz des angezeigten Karten-Bereichs angezeigt wird.

Version:
1.1
Author:
Martin Schmitz, SK
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  HashMap<String,GridBagConstraints> layoutConstraints
          Werte fuer die grafische Anordnung der Layout-Komponenten.
protected  SelectableXMapPane mapPane
          Karten-Bereich des GeoMapPane.
protected  JPanel mapPanePanel
          Panel, das den Kartenbereich (mapPane) enthaelt.
 
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(SelectableXMapPane mapPane, GridPanel vGrid, GridPanel hGrid, ScalePane scalePane)
          Erzeugt ein neues GeoMapPane.
 
Method Summary
 void dispose()
          Should be called when the GeoMapPane is not needed no more to help the GarbageCollector
 GridPanel getHorGrid()
           
 MapContext getMapContext()
          Liefert den MapContext der die einzelnen Karten-Layer verwaltet.
 SelectableXMapPane getMapPane()
          Liefert das SelectableXMapPane, in dem die Karten dargestellt werden.
 JPanel getMapPanePanel()
          Liefert das JPanel, in dem der Kartenbereich gekapselt ist.
 ScalePane getScalePane()
           
 GridPanel getVertGrid()
           
protected  void guiInit()
          Wird vom Konstruktor aufgerufen und initialisiert die grafische Darstellung/Anordnung der einzelnen GUI-Komponenten in einem GridBagLayout.
 boolean isDisposed()
           
 boolean isGridBarVisible()
          Prueft, ob neben den Koordinaten-Abschnitten die Leiste dargestellt wird.
 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.
 void setGridBarVisible(boolean visible)
          Bestimmt, ob neben den Koordinaten-Abschnitten die Leiste dargestellt wird.
 void setHorGrid(GridPanel horGrid)
           
 void setScalePane(ScalePane scalePane)
           
 void setVertGrid(GridPanel vertGrid)
           
 
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 SelectableXMapPane mapPane
Karten-Bereich des GeoMapPane.


mapPanePanel

protected JPanel mapPanePanel
Panel, das den Kartenbereich (mapPane) enthaelt. Hierueber lassen sich bestimmte Eigenschaften (z.B. Border) steuern, die aufgrund des optimierten Renderings fuer das XMapPane nicht direkt gesetzt werden koennen.

Constructor Detail

GeoMapPane

public GeoMapPane()
Erzeugt ein neues GeoMapPane.


GeoMapPane

public GeoMapPane(SelectableXMapPane mapPane,
                  GridPanel vGrid,
                  GridPanel hGrid,
                  ScalePane scalePane)
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. Defaults to GTUtil.createGTRenderer(MapContext)
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:
XMapPane.refresh()

isGridBarVisible

public boolean isGridBarVisible()
Prueft, ob neben den Koordinaten-Abschnitten die Leiste dargestellt wird.


setGridBarVisible

public void setGridBarVisible(boolean visible)
Bestimmt, ob neben den Koordinaten-Abschnitten die Leiste dargestellt wird.


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 SelectableXMapPane getMapPane()
Liefert das SelectableXMapPane, in dem die Karten dargestellt werden.


getMapPanePanel

public final JPanel getMapPanePanel()
Liefert das JPanel, in dem der Kartenbereich gekapselt ist. Hierbei handelt es sich nicht direkt um das XMapPane, sondern um ein neues Panel, was wiederum das XMapPane enthaelt!


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 JPanel

setVertGrid

public void setVertGrid(GridPanel vertGrid)

getVertGrid

public GridPanel getVertGrid()

setHorGrid

public void setHorGrid(GridPanel horGrid)

getHorGrid

public GridPanel getHorGrid()

setScalePane

public void setScalePane(ScalePane scalePane)

getScalePane

public ScalePane getScalePane()