sim.util.media.chart
Class HistogramGenerator

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.HistogramGenerator
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class HistogramGenerator
extends ChartGenerator

TimeSeriesChartGenerator is a ChartGenerator which displays a histogram using the JFreeChart library. The generator uses the HistoramDataset as its dataset, which holds histogram elements consisting of a name, an array of doubles (the samples), and an integer (the number of bins). 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
 class HistogramGenerator.HistogramSeries
           
 
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
 
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
HistogramGenerator()
           
 
Method Summary
 HistogramSeriesAttributes addSeries(double[] values, int bins, java.lang.String name, 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 addSeriesToDataSet(HistogramGenerator.HistogramSeries series)
           
protected  void buildChart()
          Override this to construct the appropriate kind of chart.
 java.lang.String getName(int index)
           
 int getNumBins(int index)
           
 AbstractSeriesDataset getSeriesDataset()
          Override this to return the JFreeChart data set used by your Chart.
 double[] getValues(int index)
           
 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 update()
          Override this to update the chart to reflect new data.
 void updateSeries(int index, double[] vals, boolean waitUntilUpdate)
           
 void updateSeries(int index, double[] vals, int bins, boolean waitUntilUpdate)
           
 void updateSeries(int index, int bins, boolean waitUntilUpdate)
           
 
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
 

Constructor Detail

HistogramGenerator

public HistogramGenerator()
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

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

addSeriesToDataSet

protected void addSeriesToDataSet(HistogramGenerator.HistogramSeries series)

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

addSeries

public HistogramSeriesAttributes addSeries(double[] values,
                                           int bins,
                                           java.lang.String name,
                                           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. If values is null, then the series is added in the seriesAttributes but not in the chart: the expectation is that you will then do an update() which will load the series properly. This is a hack to get around the fact that you HAVE to provide values to a series even if you don't know what they are yet because JFreeChart dies on a series of length 0. Returns the series attributes.


updateSeries

public void updateSeries(int index,
                         double[] vals,
                         boolean waitUntilUpdate)

updateSeries

public void updateSeries(int index,
                         int bins,
                         boolean waitUntilUpdate)

updateSeries

public void updateSeries(int index,
                         double[] vals,
                         int bins,
                         boolean waitUntilUpdate)

getNumBins

public int getNumBins(int index)

getName

public java.lang.String getName(int index)

getValues

public double[] getValues(int index)