org.geotools.gui.swing
Class StatusBar

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byorg.geotools.gui.swing.StatusBar
All Implemented Interfaces:
java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.event.MouseMotionListener, java.io.Serializable

public class StatusBar
extends javax.swing.JComponent
implements java.awt.event.MouseMotionListener

A status bar. This status bar contains three parts: 1) an arbitrary message 2) A progress bar and 3) The mouse coordinates. The mouse coordinates are automatically filled if this component is registered into a MapPane as below:

 mapPane.addMouseMotionListener(statusBar);
 
Coordinates can be formatted in any coordinate system, as long as a transform exists from the map pane's coordinate system and the format's coordinate system. If no transformation path is found, the coordinate will be formatted as "ERROR". The status bar CS can be set to matches the map pane CS as below:
 getCoordinateFormat().setCoordinateSystem(mapPane.getCoordinateSystem());
 

Version:
$Id: StatusBar.java 17672 2006-01-19 00:25:55Z desruisseaux $
Author:
Martin Desruisseaux
See Also:
Serialized Form

Nested Class Summary
 
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
 
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
StatusBar()
          Construct a new status bar.
StatusBar(java.awt.Component mapPane)
          Construct a new status bar and register listeners.
 
Method Summary
 MouseCoordinateFormat getCoordinateFormat()
          Returns the format to use for formatting coordinates.
 javax.imageio.event.IIOReadProgressListener getIIOReadProgressListener(java.lang.String name)
          Returns a image I/O progress listener.
 java.lang.String getText()
          Returns the text to display in the status bar.
 void mouseDragged(java.awt.event.MouseEvent event)
          Invoked when a mouse button is pressed on a component and then dragged.
 void mouseMoved(java.awt.event.MouseEvent event)
          Invoked when the mouse cursor has been moved onto a component.
 void registerMapPane(java.awt.Component mapPane)
          Registers a map pane for status bar management.
 void setCoordinate(java.lang.String text)
          Set the coordinate text to display in the status bar.
 void setCoordinateFormat(MouseCoordinateFormat format)
          Set the format to use for formatting coordinates.
 void setText(java.lang.String text)
          Set the text to display in the status bar.
 void unregisterMapPane(java.awt.Component mapPane)
          Removes a map pane from status bar control.
 
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, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, updateUI
 
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
 

Constructor Detail

StatusBar

public StatusBar()
Construct a new status bar.


StatusBar

public StatusBar(java.awt.Component mapPane)
Construct a new status bar and register listeners.

Parameters:
mapPane - The map pane (usually a MapPane instance).
Method Detail

registerMapPane

public void registerMapPane(java.awt.Component mapPane)
Registers a map pane for status bar management. This will register listeners to track mouse motion events occuring in the map pane area. Mouse locations will be formatted as geographic coordinates according the current formatter and written in the status's bar coordinate area.

Parameters:
mapPane - The map pane (usually a MapPane instance).

unregisterMapPane

public void unregisterMapPane(java.awt.Component mapPane)
Removes a map pane from status bar control.

Parameters:
mapPane - The map pane previously given to registerMapPane(java.awt.Component).

getText

public java.lang.String getText()
Returns the text to display in the status bar. This is the text visible in the message area, at the left. A null values means that no message are currently displayed.


setText

public void setText(java.lang.String text)
Set the text to display in the status bar. This is the text to show in the message area, at the left side.

Parameters:
text - The coordinate to display, or null if none.

setCoordinate

public void setCoordinate(java.lang.String text)
Set the coordinate text to display in the status bar. This is the text to show in the coordinate area, at the right side.

Parameters:
text - The coordinate to display, or null if none.
Task:
REVISIT: This method doesn't fire a 'PropertyChangeEvent' for performance reason (this method is invoked very often). Should we?

getCoordinateFormat

public MouseCoordinateFormat getCoordinateFormat()
Returns the format to use for formatting coordinates. The output coordinate system can be se with getCoordinateFormat().setCoordinateSystem(...).

See Also:
setCoordinate(String), CoordinateFormat.setCoordinateSystem(org.geotools.cs.CoordinateSystem)

setCoordinateFormat

public void setCoordinateFormat(MouseCoordinateFormat format)
Set the format to use for formatting coordinates. A null value reset the default format.


mouseMoved

public void mouseMoved(java.awt.event.MouseEvent event)
Invoked when the mouse cursor has been moved onto a component. The default implementation format the coordinate in the status bar coordinate area (at the right side).

Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent event)
Invoked when a mouse button is pressed on a component and then dragged. The default implementation invokes mouseMoved(event)} in order to continue to format mouse's coordinate during the drag.

Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

getIIOReadProgressListener

public javax.imageio.event.IIOReadProgressListener getIIOReadProgressListener(java.lang.String name)
Returns a image I/O progress listener. This object can be used for updating the progress bare in this status bar. This method can be invoked from any thread, and the progress listener's methods can be invoked from any thread too (it doesn't need to be the Swing thread).

Parameters:
name - The name of the image to be loaded. This name will appears in the status bar when the loading will start.


Copyright © GeoTools. All Rights Reserved.