schmitzm.geotools.gui
Class LayeredMapPane

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.LayeredMapPane
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class LayeredMapPane
extends JPanel

Diese Klasse stellt ein Panel dar, in dem layer-basiert Objekte grafisch dargestellt werden koennen.
Welche Objekte dargestellt werden koennen, ist der Beschreibung der isVisualisable(Object)-Methode zu entnehmen.
Das Fenster besteht aus 2 durch einen Divider voneinander getrennten Komponenten:

  1. Eine Map (JMapPane) zu grafischen Darstellung der Layer
  2. Eine Liste mit Steuerungskomponenten, ueber die die einzelnen Layer angesprochen werden koennen (ein/ausblenden, zoomen, ...).
Die grafischen Layer (in der Map) koennen wahlweise (de)aktiviert werden. Dies geschieht durch setzen/entfernen eines Haekchens in der entsprechenden Steuerungskomponente. Diese enthaelt zudem ein Kontextmenue, ueber welches Darueberhinaus verwaltet das LayerMapPane eine Liste von Farbpaletten fuer Rasterdaten, die durch die Layer-Kontrolle den Raster-Layern zugewiesen werden koennen.
Um Layer einzufuegen koennen die addLayer(.)-Methoden dieser Klasse verwendet werden (dabei wird ein Default-Style verwendet) oder die entsprechenden Methoden des MapContext (getMapPane().getContext()).

Version:
1.0
Author:
Martin Schmitz
See Also:
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
protected  ColorMapManager colorMaps
          Auswahl an Farb-Paletten fuer Raster-Daten
protected  GeoMapPane geoMapPane
          Komponente, in der die Karten, der Massstab und das Koordinaten-Raster dargestellt werden
protected  MultiSplitPane horSplitPane
           
protected  MapContextControlPane layerControlList
          Komponente, in der die Layer-Kontrolle dargestellt ist.
 
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
LayeredMapPane()
          Erzeugt eine neue Komponente.
LayeredMapPane(GeoMapPane geoMapPane)
          Erzeugt eine neue Komponente.
 
Method Summary
 MapLayer addLayer(FeatureCollection fc, String desc, Style style)
          Fuegt ein FeatureCollection-Layer (als oberstes Layer) ein.
 MapLayer addLayer(GridCoverage2D gc, String desc, Style style)
          Fuegt ein Raster-Layer (als oberstes Layer) ein.
 MapLayer addLayer(Object obj, String desc)
          Fuegt ein Layer (als oberstes Layer) ein.
 MapLayer addLayer(Object obj, String desc, Style style)
          Fuegt ein Layer (als oberstes Layer) ein.
 ColorMapManager getColorMapManager()
          Liefert den Manager fuer die zur Verfuegung stehenden Farbpaletten.
 Object getMapObject(MapLayer layer)
          Liefert das in einem Layer dargestellte Objekt.
 JMapPane getMapPane()
          Liefert den Karten-Bereich der Komponente.
 boolean isVisualisable(Class c)
          Prueft, ob Instanzen einer bestimmten Klasse von LayeredMapFrame visualisiert werden koennen.
 boolean isVisualisable(Object o)
          Prueft, ob eine Objekt-Instanz von LayeredMapFrame visualisiert werden kann.
 
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, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, 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, setBackground, 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

horSplitPane

protected MultiSplitPane horSplitPane

geoMapPane

protected GeoMapPane geoMapPane
Komponente, in der die Karten, der Massstab und das Koordinaten-Raster dargestellt werden


layerControlList

protected MapContextControlPane layerControlList
Komponente, in der die Layer-Kontrolle dargestellt ist.


colorMaps

protected ColorMapManager colorMaps
Auswahl an Farb-Paletten fuer Raster-Daten

Constructor Detail

LayeredMapPane

public LayeredMapPane()
Erzeugt eine neue Komponente.


LayeredMapPane

public LayeredMapPane(GeoMapPane geoMapPane)
Erzeugt eine neue Komponente.

Parameters:
geoMapPane - Komponente, die zum Anzeigen der Karten verwendet wird (wenn null wird eine neue GeoMapPane-Instanz erzeugt)
Method Detail

getMapPane

public JMapPane getMapPane()
Liefert den Karten-Bereich der Komponente.


getMapObject

public Object getMapObject(MapLayer layer)
Liefert das in einem Layer dargestellte Objekt.

Parameters:
layer - ein Layer

getColorMapManager

public ColorMapManager getColorMapManager()
Liefert den Manager fuer die zur Verfuegung stehenden Farbpaletten.


isVisualisable

public boolean isVisualisable(Class c)
Prueft, ob Instanzen einer bestimmten Klasse von LayeredMapFrame visualisiert werden koennen. Dies gilt fuer


isVisualisable

public boolean isVisualisable(Object o)
Prueft, ob eine Objekt-Instanz von LayeredMapFrame visualisiert werden kann. Dies gilt fuer Instanzen von


addLayer

public MapLayer addLayer(GridCoverage2D gc,
                         String desc,
                         Style style)
Fuegt ein Raster-Layer (als oberstes Layer) ein.

Parameters:
gc - ein Grid-Coverage
desc - Beschreibung fuer das Raster
style - Darstellungs-Style fuer das Layer

addLayer

public MapLayer addLayer(FeatureCollection fc,
                         String desc,
                         Style style)
Fuegt ein FeatureCollection-Layer (als oberstes Layer) ein.

Parameters:
fc - eine Feature-Collection
desc - Beschreibung fuer die Feature-Collection
style - Darstellungs-Style fuer das Layer

addLayer

public MapLayer addLayer(Object obj,
                         String desc,
                         Style style)
Fuegt ein Layer (als oberstes Layer) ein.

Parameters:
obj - ein (darstellbares) Objekt
desc - Beschreibung fuer das Objekt
style - Darstellungs-Style fuer das Layer
Throws:
UnsupportedOperationException - falls ein nicht-darstellbares Objekt uebergeben wird
See Also:
isVisualisable(Object), isVisualisable(Class)

addLayer

public MapLayer addLayer(Object obj,
                         String desc)
Fuegt ein Layer (als oberstes Layer) ein. Es wird ein Standard-Style zur Darstellung verwendet.

Parameters:
obj - ein (darstellbares) Objekt
desc - Beschreibung fuer das Objekt
Throws:
UnsupportedOperationException - falls ein nicht-darstellbares Objekt uebergeben wird
See Also:
isVisualisable(Object), isVisualisable(Class)