org.geotools.gui.swing
Class Legend

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byorg.geotools.gui.swing.Legend
All Implemented Interfaces:
javax.accessibility.Accessible, java.util.EventListener, java.awt.image.ImageObserver, MapLayerListListener, java.awt.MenuContainer, java.io.Serializable, SLDEditor

public class Legend
extends javax.swing.JPanel
implements MapLayerListListener, SLDEditor, java.io.Serializable

The Legend component is a JTree-like component designed to show the layers and the styles contained in a @link org.geotools.map.MapContext.

The component is listening to the map context layer list, so it will show automatically any change to the layer list or to the style of a single layer. On double click over a layer or rule node it will show up the style editing dialog if the style editing is not turned off.

You can turn off the default style editing dialog and intercept the selection and mouse events to override the default behaviour.

Author:
jianhuij, aaime
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.tree.TreePath oldSelectedPath
           
 
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 org.geotools.gui.swing.sldeditor.SLDEditor
filterFactory, propertyEditorFactory, styleBuilder, styleCloner, styleFactory, symbolizerEditorFactory
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Legend(MapContext context, java.lang.String title)
          Creates a new Legend editor based on a map context and a title
 
Method Summary
 javax.swing.JMenuItem constructSetSelectionMenu(javax.swing.tree.DefaultMutableTreeNode node)
           
 void contextChanged()
           
 MapContext getMapContext()
           
 MapLayer getSelectedLayer()
           
 java.lang.Object getSelectedObject()
           
 void layerAdded(MapLayerListEvent event)
          Triggered when a new layer is added to the MapContext
 void layerChanged(MapLayerListEvent event)
          Triggered when something in a layer changed (data, style, title)
 void layerListChanged(java.util.EventObject layerListChangedEvent)
           
 void layerMoved(MapLayerListEvent event)
          Triggered when a group of layers chenges position in the layer list
 void layerRemoved(MapLayerListEvent event)
          Triggered when a layer is removed from the MapContext
 void setMapContext(MapContext context)
           
protected  void treeClicked(java.awt.event.MouseEvent e)
          Override in subclasses to get a different behaviour on node click
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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

oldSelectedPath

protected javax.swing.tree.TreePath oldSelectedPath
Constructor Detail

Legend

public Legend(MapContext context,
              java.lang.String title)
Creates a new Legend editor based on a map context and a title

Parameters:
context -
title -
Method Detail

treeClicked

protected void treeClicked(java.awt.event.MouseEvent e)
Override in subclasses to get a different behaviour on node click

Parameters:
e -

constructSetSelectionMenu

public javax.swing.JMenuItem constructSetSelectionMenu(javax.swing.tree.DefaultMutableTreeNode node)

setMapContext

public void setMapContext(MapContext context)

getMapContext

public MapContext getMapContext()

getSelectedObject

public java.lang.Object getSelectedObject()

getSelectedLayer

public MapLayer getSelectedLayer()

layerListChanged

public void layerListChanged(java.util.EventObject layerListChangedEvent)

contextChanged

public void contextChanged()

layerAdded

public void layerAdded(MapLayerListEvent event)
Description copied from interface: MapLayerListListener
Triggered when a new layer is added to the MapContext

Specified by:
layerAdded in interface MapLayerListListener
Parameters:
event - encapsulating the event information

layerChanged

public void layerChanged(MapLayerListEvent event)
Description copied from interface: MapLayerListListener
Triggered when something in a layer changed (data, style, title)

Specified by:
layerChanged in interface MapLayerListListener
Parameters:
event - encapsulating the event information

layerMoved

public void layerMoved(MapLayerListEvent event)
Description copied from interface: MapLayerListListener
Triggered when a group of layers chenges position in the layer list

Specified by:
layerMoved in interface MapLayerListListener
Parameters:
event - encapsulating the event information

layerRemoved

public void layerRemoved(MapLayerListEvent event)
Description copied from interface: MapLayerListListener
Triggered when a layer is removed from the MapContext

Specified by:
layerRemoved in interface MapLayerListListener
Parameters:
event - encapsulating the event information


Copyright © GeoTools. All Rights Reserved.