info.monitorenter.gui.chart
Class ZoomableChart

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 info.monitorenter.gui.chart.Chart2D
                      extended by info.monitorenter.gui.chart.ZoomableChart
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Printable, java.beans.PropertyChangeListener, java.io.Serializable, java.lang.Iterable<ITrace2D>, java.util.EventListener, javax.accessibility.Accessible

public class ZoomableChart
extends Chart2D
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener

Chart2D enriched by a zoom-functionality in the x and y dimension.

Version:
$Revision: 1.19 $
Author:
Alessio Sambarino (Contributor), Klaus Pesendorfer (Bugfix contributor), Anadi Mishra (Bugfix contributor)
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class info.monitorenter.gui.chart.Chart2D
Chart2D.PointFinder, Chart2D.ToolTipType
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class info.monitorenter.gui.chart.Chart2D
AXIX_CONSTANT_NAMES, CHART_POSITION_BOTTOM, CHART_POSITION_LEFT, CHART_POSITION_RIGHT, CHART_POSITION_TOP, DEBUG_HIGHLIGHTING, DEBUG_SCALING, DEBUG_THREADING, m_minPaintLatency, PROPERTY_ADD_REMOVE_TRACE, PROPERTY_ANTIALIASING_ENABLED, PROPERTY_AXIS_X, PROPERTY_AXIS_X_BOTTOM_REPLACE, PROPERTY_AXIS_X_TOP_REPLACE, PROPERTY_AXIS_Y, PROPERTY_AXIS_Y_LEFT_REPLACE, PROPERTY_AXIS_Y_RIGHT_REPLACE, PROPERTY_BACKGROUND_COLOR, PROPERTY_FONT, PROPERTY_FOREGROUND_COLOR, PROPERTY_GRID_COLOR, PROPERTY_PAINTLABELS, PROPERTY_POINT_HIGHLIGHTING_ENABLED, PROPERTY_POINTFINDER, PROPERTY_TOOLTIP_TYPE, X, X_Y, Y
 
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.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ZoomableChart()
          Defcon.
 
Method Summary
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
protected  void paintComponent(java.awt.Graphics g)
          A basic rule of a JComponent is:
Never invoke this method directly.
 void zoom(double xmin, double xmax)
          Zooms to the selected bounds in x-axis.
 void zoom(double xmin, double xmax, double ymin, double ymax)
          Zooms to the selected bounds in both directions.
 void zoom(IAxis<?> axis, double startP, double endP)
          Zooms the axis to the pixel value of start and end points.
 void zoomAll()
          Resets the zooming area to a range that displays all data.
 
Methods inherited from class info.monitorenter.gui.chart.Chart2D
addAxisXBottom, addAxisXTop, addAxisYLeft, addAxisYRight, addTrace, addTrace, createToolTip, destroy, enablePointHighlighting, finalize, findAxesOfTrace, getAxes, getAxesXBottom, getAxesXTop, getAxesYLeft, getAxesYRight, getAxisTickPainter, getAxisX, getAxisX, getAxisY, getAxisY, getGridColor, getHeight, getMinPaintLatency, getNearestPointEuclid, getNearestPointEuclid, getNearestPointManhattan, getNearestPointManhattan, getPointFinder, getPreferredSize, getSize, getSynchronizedXStartChart, getToolTipText, getToolTipType, getTracePointProvider, getTraces, getWidth, getXAxisWidth, getXChartEnd, getXChartStart, getYChartEnd, getYChartStart, isEnabledPointHighlighting, isPaintLabels, isRequestedRepaint, isToolTipCoords, isUseAntialiasing, isVisible, iterator, paint, print, propertyChange, removeAllTraces, removeAxisXBottom, removeAxisXTop, removeAxisYLeft, removeAxisYRight, removeTrace, repaint, repaint, repaint, repaint, repaint, resetPrintMode, setAxisTickPainter, setAxisX, setAxisXBottom, setAxisXTop, setAxisY, setAxisYLeft, setAxisYRight, setGridColor, setMinPaintLatency, setPaintLabels, setPointFinder, setRequestedRepaint, setSynchronizedXStartChart, setToolTipCoords, setToolTipType, setTracePointProvider, setUseAntialiasing, snapShot, snapShot, toString, translateMousePosition
 
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, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, 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, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ZoomableChart

public ZoomableChart()
Defcon.

Method Detail

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener
See Also:
MouseListener.mouseClicked(java.awt.event.MouseEvent)

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener
See Also:
MouseMotionListener.mouseDragged(java.awt.event.MouseEvent)

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener
See Also:
MouseListener.mouseEntered(java.awt.event.MouseEvent)

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener
See Also:
MouseListener.mouseExited(java.awt.event.MouseEvent)

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener
See Also:
MouseMotionListener.mouseMoved(java.awt.event.MouseEvent)

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener
See Also:
MouseListener.mousePressed(java.awt.event.MouseEvent)

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener
See Also:
MouseListener.mouseReleased(java.awt.event.MouseEvent)

paintComponent

protected void paintComponent(java.awt.Graphics g)
Description copied from class: Chart2D
A basic rule of a JComponent is:
Never invoke this method directly.
See the description of JComponent.paintComponent(java.awt.Graphics) for details.

If you do invoke this method you may encounter performance issues, flickering UI and even deadlocks.

Overrides:
paintComponent in class Chart2D
Parameters:
g - the graphics context to use.
See Also:
JComponent.paintComponent(java.awt.Graphics)

zoom

public void zoom(double xmin,
                 double xmax)
Zooms to the selected bounds in x-axis.

Parameters:
xmin - the lower x bound.
xmax - the upper x bound.

zoom

public void zoom(IAxis<?> axis,
                 double startP,
                 double endP)
Zooms the axis to the pixel value of start and end points.

Does not check for the position of axis so the caller must take care to provide start x and end x for horizontal and start y and end y for vertical axes.

Parameters:
axis - the axis to zoom.
startP - the start coordinate in the dimension of the given axis in pixel coords.
endP - the end coordinate in the dimension of the given axis in pixel coords.

zoom

public void zoom(double xmin,
                 double xmax,
                 double ymin,
                 double ymax)
Zooms to the selected bounds in both directions.

Parameters:
xmin - the lower x bound (value of chart (vs. pixel of screen)).
xmax - the upper x bound (value of chart (vs. pixel of screen)).
ymin - the lower y bound (value of chart (vs. pixel of screen)).
ymax - the upper y bound (value of chart (vs. pixel of screen)).

zoomAll

public void zoomAll()
Resets the zooming area to a range that displays all data.



Copyright © 2001 - 2010 LGPL, All Rights Footloose.