sim.util.media.chart
Class TimeSeriesChartGenerator

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 sim.util.media.chart.ChartGenerator
                      extended by sim.util.media.chart.TimeSeriesChartGenerator
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class TimeSeriesChartGenerator
extends ChartGenerator

TimeSeriesChartGenerator is a ChartGenerator which displays a time-series chart using the JFreeChart library. The generator uses the XYSeriesCollection as its dataset, and thus holds some N XYSeriesDataset objects, each representing a time series displayed on the chart. You add series to the generator with the addSeries method.

TimeSeriesChartGenerator creates attributes components in the form of TimeSeriesAttributes, which work with the generator to properly update the chart to reflect changes the user has made to its display.

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  DataCuller dataCuller
           
protected  XYSeriesCollection dataset
          The dataset.
protected  NumberTextField maxPointsPerSeriesTextField
           
protected  java.util.ArrayList stoppables
          A list of SeriesChangeListeners, one per element in the dataset, and indexed in the same way.
protected  javax.swing.JCheckBox useCullingCheckBox
           
 
Fields inherited from class sim.util.media.chart.ChartGenerator
chart, chartHolder, chartPanel, frame, globalAttributes, seriesAttributes, titleField, xLabel, xLog, yLabel, yLog
 
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
TimeSeriesChartGenerator()
           
 
Method Summary
 TimeSeriesAttributes addSeries(XYSeries series, org.jfree.data.general.SeriesChangeListener stopper)
          Adds a series, plus a (possibly null) SeriesChangeListener which will receive a single event if/when the series is deleted from the chart by the user.
protected  void buildChart()
          Override this to construct the appropriate kind of chart.
 DataCuller getDataCuller()
           
 AbstractSeriesDataset getSeriesDataset()
          Override this to return the JFreeChart data set used by your Chart.
 void moveSeries(int index, boolean up)
          Override this to move a series relative to other series.
 void removeSeries(int index)
          Override this to remove a series from the chart.
 void setDataCuller(DataCuller dataCuller)
           
 void update()
          Override this to update the chart to reflect new data.
 
Methods inherited from class sim.util.media.chart.ChartGenerator
addGlobalAttribute, createFrame, getChartPanel, getDomainAxisLabel, getGlobalAttribute, getGlobalAttributeCount, getRangeAxisLabel, getSeriesAttributes, getTitle, isXAxisLogScaled, isYAxisLogScaled, quit, removeAllSeries, removeGlobalAttribute, setDomainAxisLabel, setRangeAxisLabel, setTitle, setXAxisLogScaled, setYAxisLogScaled
 
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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, 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, 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, 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

dataset

protected XYSeriesCollection dataset
The dataset. Generated in buildChart().


stoppables

protected java.util.ArrayList stoppables
A list of SeriesChangeListeners, one per element in the dataset, and indexed in the same way. When an element is removed from the dataset and deleted from the chart, its corresponding SeriesChangeListener will be removed and have seriesChanged(...) called.


useCullingCheckBox

protected javax.swing.JCheckBox useCullingCheckBox

maxPointsPerSeriesTextField

protected NumberTextField maxPointsPerSeriesTextField

dataCuller

protected DataCuller dataCuller
Constructor Detail

TimeSeriesChartGenerator

public TimeSeriesChartGenerator()
Method Detail

getSeriesDataset

public AbstractSeriesDataset getSeriesDataset()
Description copied from class: ChartGenerator
Override this to return the JFreeChart data set used by your Chart. For example, time series charts might return the XYSeriesCollection.

Specified by:
getSeriesDataset in class ChartGenerator

update

public void update()
Description copied from class: ChartGenerator
Override this to update the chart to reflect new data.

Specified by:
update in class ChartGenerator

removeSeries

public void removeSeries(int index)
Description copied from class: ChartGenerator
Override this to remove a series from the chart.

Specified by:
removeSeries in class ChartGenerator

moveSeries

public void moveSeries(int index,
                       boolean up)
Description copied from class: ChartGenerator
Override this to move a series relative to other series.

Specified by:
moveSeries in class ChartGenerator

buildChart

protected void buildChart()
Description copied from class: ChartGenerator
Override this to construct the appropriate kind of chart. This is the first thing called from the constructor; so certain of your instance variables may not have been set yet and you may need to set them yourself.

Specified by:
buildChart in class ChartGenerator

addSeries

public TimeSeriesAttributes addSeries(XYSeries series,
                                      org.jfree.data.general.SeriesChangeListener stopper)
Adds a series, plus a (possibly null) SeriesChangeListener which will receive a single event if/when the series is deleted from the chart by the user. The series should have a key in the form of a String. Returns the series attributes.


getDataCuller

public DataCuller getDataCuller()

setDataCuller

public void setDataCuller(DataCuller dataCuller)