schmitzm.geotools.gui
Class RasterPositionLabel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JLabel
                  extended by schmitzm.geotools.gui.RasterPositionLabel
All Implemented Interfaces:
MouseMotionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, SwingConstants, CaptionsChangeable

public class RasterPositionLabel
extends JLabel
implements MouseMotionListener, CaptionsChangeable

Diese Klasse stellt ein JLabel dar, in dem (2dimensionale) Raster-Koordinaten und der Rasterwert an der entsprechenden Stelle angezeigt werden.
Die Klasse fungiert als MouseMotionListener und kann so direkt an ein SelectableXMapPane gekoppelt werden. Die Koordinaten-Darstellung im Label aktualisiert sich somit automatisch, sobald sich die Maus ueber die Karte bewegt.

Version:
1.1 SK 01.09.07: finals fuer Variablen eingefuegt... die Funktion displayCoordinates() wird oft benutzt und es gab viele Variablen, die nie geaendert wurden.
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JLabel
JLabel.AccessibleJLabel
 
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  DecimalFormat decForm
          Speichert das Format fuer die dargstellten Koordinaten
 String LABEL_PREFIX
          Key, um das Label-Praefix in der CaptionsChangeable-Map anzusprechen.
 String labelPrefix
          Praefix, das der Raster-Position vorangestellt wird.
 
Fields inherited from class javax.swing.JLabel
labelFor
 
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 javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
RasterPositionLabel()
          Erzeugt ein neues Label.
RasterPositionLabel(int fracDigits)
          Erzeugt ein neues Label.
 
Method Summary
protected  MapLayer determineRasterLayer(SelectableXMapPane mapPane, Point2D actPos_MapCRS)
          Ermittelt das Raster-Layer, dessen Koordinaten angezeigt werden.
protected  void displayCoordinates(MouseEvent e)
          Stellt die Koordinaten und den Wert des obersten (sichtbaren) Rasters im Label dar, wenn das Event von einem SelectableXMapPane ausgeloest wurde.
 int getFractionDigits()
          Liefert die Anzahl an Nachkommastellen, die fuer den Rasterwert dargestellt werden
 String getLabelPrefix()
          Liefert den String, welcher der Rasterposition und dem Rasterwert vorangestellt wird.
 void mouseDragged(MouseEvent e)
          Wird aufgerufen, sobald die Maus bei gedrueckter Taste bewegt wird.
 void mouseMoved(MouseEvent e)
          Wird aufgerufen, sobald die Maus bewegt wird.
 void resetCaptions(Map<String,Object> captionMap)
          Setzt das Label-Praefix neu, sofern in der Map ein Wert fuer LABEL_PREFIX hinterlegt ist.
 void setFractionDigits(int fracDigits)
          Setzt die Anzahl an Nachkommastellen, die fuer den Rasterwert dargestellt werden
 void setLabelPrefix(String label)
          Setzt den String, welcher der Rasterposition und dem Rasterwert vorangestellt wird.
 
Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition, 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, setEnabled, 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, 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

decForm

protected DecimalFormat decForm
Speichert das Format fuer die dargstellten Koordinaten


LABEL_PREFIX

public final String LABEL_PREFIX
Key, um das Label-Praefix in der CaptionsChangeable-Map anzusprechen.

See Also:
SK 12.12.09: static entfernt, da sonst das Sprachenumschalten die Cpation nicht gewechselt hat.

labelPrefix

public String labelPrefix
Praefix, das der Raster-Position vorangestellt wird.

See Also:
SK 12.12.09: static entfernt, da sonst das Sprachenumschalten die Cpation nicht gewechselt hat.
Constructor Detail

RasterPositionLabel

public RasterPositionLabel()
Erzeugt ein neues Label. Der Raster-Wert wird ohne Nachkommastellen dargestellt.


RasterPositionLabel

public RasterPositionLabel(int fracDigits)
Erzeugt ein neues Label.

Parameters:
fracDigits - Anzahl an Nachkommastellen, auf der Rasterwert gerundet wird
Method Detail

displayCoordinates

protected void displayCoordinates(MouseEvent e)
Stellt die Koordinaten und den Wert des obersten (sichtbaren) Rasters im Label dar, wenn das Event von einem SelectableXMapPane ausgeloest wurde.
Wird mouseMoved(MouseEvent) und mouseDragged(MouseEvent) aufgerufen.


determineRasterLayer

protected MapLayer determineRasterLayer(SelectableXMapPane mapPane,
                                        Point2D actPos_MapCRS)
Ermittelt das Raster-Layer, dessen Koordinaten angezeigt werden. Standardmaessig wird das oberste sichtbare Raster-Layer zurueckgegeben. Sub-Klassen koennen diese Methode ueberschreiben, um ein anderes Layer zu verwenden.

Parameters:
mapPane - MapPane der angezeigten Layer.
actPos_MapCRS - Position fuer die das erste schneidende raster layer gefunden werden soll.

setLabelPrefix

public void setLabelPrefix(String label)
Setzt den String, welcher der Rasterposition und dem Rasterwert vorangestellt wird.

Parameters:
label - neues Praefix

getLabelPrefix

public String getLabelPrefix()
Liefert den String, welcher der Rasterposition und dem Rasterwert vorangestellt wird.


resetCaptions

public void resetCaptions(Map<String,Object> captionMap)
Setzt das Label-Praefix neu, sofern in der Map ein Wert fuer LABEL_PREFIX hinterlegt ist.

Specified by:
resetCaptions in interface CaptionsChangeable
Parameters:
captionMap - neue Labels

setFractionDigits

public void setFractionDigits(int fracDigits)
Setzt die Anzahl an Nachkommastellen, die fuer den Rasterwert dargestellt werden

Parameters:
fracDigits - Anzahl an Nachkommastellen

getFractionDigits

public int getFractionDigits()
Liefert die Anzahl an Nachkommastellen, die fuer den Rasterwert dargestellt werden


mouseMoved

public void mouseMoved(MouseEvent e)
Wird aufgerufen, sobald die Maus bewegt wird. Stellt die Koordinaten und den Rasterwert im Label dar, wenn das Event von einem SelectableXMapPane ausgeloest wurde.

Specified by:
mouseMoved in interface MouseMotionListener
See Also:
displayCoordinates(MouseEvent)

mouseDragged

public void mouseDragged(MouseEvent e)
Wird aufgerufen, sobald die Maus bei gedrueckter Taste bewegt wird. Stellt die Koordinaten und den Rasterwert im Label dar, wenn das Event von einem SelectableXMapPane ausgeloest wurde.

Specified by:
mouseDragged in interface MouseMotionListener
See Also:
displayCoordinates(MouseEvent)