com.approximatrix.charting.swing
Class InteractiveChartPanel

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 com.approximatrix.charting.swing.AbstractChartPanel
                      extended by com.approximatrix.charting.swing.ExtendedChartPanel
                          extended by com.approximatrix.charting.swing.InteractiveChartPanel
All Implemented Interfaces:
Chart, java.awt.event.ActionListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Printable, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public abstract class InteractiveChartPanel
extends ExtendedChartPanel
implements java.awt.event.ActionListener

Extension to ExtendedChartPanel that provides a method for extracting information from the plot simply by holding a mouse over the position. If a CoordinateFeedback object is provided, this panel will call the object's information method, passing in the current data-space coordinates.

Author:
armstrong
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.event.EventListenerList listener
          The listener list.
protected  javax.swing.Timer moveTimer
          Time object that is started every time mouse movement is registered.
protected  java.awt.Point mp
          The graphics-space mouse position
private  int WAIT_FOR_TIP
          Time of no mouse movement at which point the feedback info is displayed
 
Fields inherited from class com.approximatrix.charting.swing.AbstractChartPanel
chart, NO_SUCH_PAGE, PAGE_EXISTS
 
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
InteractiveChartPanel(ChartDataModel arg0, java.lang.String arg1)
          Constructs and initializes the panel, passing all parameters through to the superclass.
InteractiveChartPanel(ChartDataModel arg0, java.lang.String arg1, int arg2)
          Constructs and initializes the panel, passing all parameters through to the superclass.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent arg0)
          Action listener implementation that causes the tip to appear over the current window.
 void addInfoAvailableListener(InfoAvailableListener l)
          Adds a InfoAvailableListener.
 void clearInfoAvailableListener()
          Clears all InfoAvailableListener from the object
 void fireInfoAvailable(java.lang.Object src, java.awt.Point datapoint)
           
private  void initialize()
          Initializes, but does not start, the mouse movement timer.
 void mouseMoved(java.awt.event.MouseEvent arg0)
          One component of the mouse listener that starts the timer once the mouse has moved.
 void removeInfoAvailableListener(InfoAvailableListener l)
          Removes a InfoAvailableListener.
 
Methods inherited from class com.approximatrix.charting.swing.ExtendedChartPanel
enableZoom, isEnableZoom, mouseClicked, mouseDragged, mousePressed, mouseReleased, paint, paintComponent, performAutoScale, print, render, setAutoscaleMouseButton, setZoomMouseButton
 
Methods inherited from class com.approximatrix.charting.swing.AbstractChartPanel
addChartRenderer, getBounds, getChartDataModel, getChartRenderer, getChartRenderer, getCoordSystem, getLegend, getPreferredSize, getRowColorModel, getTitle, mouseEntered, mouseExited, setBounds, setChartDataModel, setChartRenderer, setCoordSystem, setLegend, setRowColorModel, setTitle
 
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, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, 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, 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, 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

listener

protected javax.swing.event.EventListenerList listener
The listener list.


WAIT_FOR_TIP

private final int WAIT_FOR_TIP
Time of no mouse movement at which point the feedback info is displayed

See Also:
Constant Field Values

moveTimer

protected javax.swing.Timer moveTimer
Time object that is started every time mouse movement is registered.


mp

protected java.awt.Point mp
The graphics-space mouse position

Constructor Detail

InteractiveChartPanel

public InteractiveChartPanel(ChartDataModel arg0,
                             java.lang.String arg1,
                             int arg2)
Constructs and initializes the panel, passing all parameters through to the superclass.

Parameters:
arg0 - the data model associated with this panel
arg1 - the title String
arg2 - the id of the coordinate system configuration

InteractiveChartPanel

public InteractiveChartPanel(ChartDataModel arg0,
                             java.lang.String arg1)
Constructs and initializes the panel, passing all parameters through to the superclass.

Parameters:
arg0 - the data model associated with this panel
arg1 - the title String
Method Detail

initialize

private void initialize()
Initializes, but does not start, the mouse movement timer.


mouseMoved

public void mouseMoved(java.awt.event.MouseEvent arg0)
One component of the mouse listener that starts the timer once the mouse has moved. If this is called when the timer is already running, the timer is restarted.

Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener
Overrides:
mouseMoved in class AbstractChartPanel
See Also:
AbstractChartPanel.mouseMoved(java.awt.event.MouseEvent)

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent arg0)
Action listener implementation that causes the tip to appear over the current window.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
See Also:
ActionListener.actionPerformed(java.awt.event.ActionEvent)

fireInfoAvailable

public void fireInfoAvailable(java.lang.Object src,
                              java.awt.Point datapoint)

removeInfoAvailableListener

public void removeInfoAvailableListener(InfoAvailableListener l)
Removes a InfoAvailableListener.

Parameters:
l - the InfoAvailableListener

addInfoAvailableListener

public void addInfoAvailableListener(InfoAvailableListener l)
Adds a InfoAvailableListener.

Parameters:
l - the InfoAvailableListener

clearInfoAvailableListener

public void clearInfoAvailableListener()
Clears all InfoAvailableListener from the object