Class TimeSeriesSimulationPlotter

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, microsim.event.EventListener

    public class TimeSeriesSimulationPlotter
    extends javax.swing.JInternalFrame
    implements microsim.event.EventListener
    A time series plotter is able to trace one or more data sources over time. It is based on JFreeChart library and uses data sources based on the microsim.statistics.* interfaces.

    Title: JAS

    Description: Java Agent-based Simulation library

    Copyright (C) 2002-17 Michele Sonnessa and Ross Richardson

    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
    Author:
    Michele Sonnessa and Ross Richardson

    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JInternalFrame

        javax.swing.JInternalFrame.JDesktopIcon
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.BaselineResizeBehavior
    • Field Summary

      • Fields inherited from class javax.swing.JInternalFrame

        CONTENT_PANE_PROPERTY, FRAME_ICON_PROPERTY, GLASS_PANE_PROPERTY, IS_CLOSED_PROPERTY, IS_ICON_PROPERTY, IS_MAXIMUM_PROPERTY, IS_SELECTED_PROPERTY, LAYERED_PANE_PROPERTY, MENU_BAR_PROPERTY, ROOT_PANE_PROPERTY, TITLE_PROPERTY
      • Fields inherited from class javax.swing.JComponent

        TOOL_TIP_TEXT_KEY, 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
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addSeries​(java.lang.String legend, java.lang.Object target, java.lang.String variableName, boolean getFromMethod)
      Build a series from a generic object.
      void addSeries​(java.lang.String legend, microsim.statistics.IDoubleSource plottableObject)
      Build a series retrieving data from a IDoubleSource object, using the default variableId.
      void addSeries​(java.lang.String legend, microsim.statistics.IDoubleSource plottableObject, java.lang.Enum<?> variableID)
      Build a series retrieving data from a IDoubleSource object.
      void addSeries​(java.lang.String legend, microsim.statistics.IFloatSource plottableObject)
      Build a series from a IFloatSource object, using the default variableId.
      void addSeries​(java.lang.String legend, microsim.statistics.IFloatSource plottableObject, java.lang.Enum<?> variableID)
      Build a series from a IFloatSource object.
      void addSeries​(java.lang.String legend, microsim.statistics.IIntSource plottableObject)
      Build a series from a IIntSource object, using the default variableId.
      void addSeries​(java.lang.String legend, microsim.statistics.IIntSource plottableObject, java.lang.Enum<?> variableID)
      Build a series from a IIntSource object.
      void addSeries​(java.lang.String legend, microsim.statistics.ILongSource plottableObject)
      Build a series from a ILongSource object, using the default variableId.
      void addSeries​(java.lang.String legend, microsim.statistics.ILongSource plottableObject, java.lang.Enum<?> variableID)
      Build a series from a ILongSource object.
      int getMaxSamples()
      Max samples parameters allow to define a maximum number of points.
      void onEvent​(java.lang.Enum<?> type)  
      void setMaxSamples​(int maxSamples)
      Set the max sample parameter.
      • Methods inherited from class javax.swing.JInternalFrame

        addInternalFrameListener, dispose, doDefaultCloseAction, getAccessibleContext, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getFocusCycleRootAncestor, getFocusOwner, getFrameIcon, getGlassPane, getInternalFrameListeners, getJMenuBar, getLastCursor, getLayer, getLayeredPane, getMenuBar, getMostRecentFocusOwner, getNormalBounds, getRootPane, getTitle, getUI, getUIClassID, getWarningString, hide, isClosable, isClosed, isFocusCycleRoot, isIcon, isIconifiable, isMaximizable, isMaximum, isResizable, isSelected, moveToBack, moveToFront, pack, remove, removeInternalFrameListener, reshape, restoreSubcomponentFocus, setClosable, setClosed, setContentPane, setCursor, setDefaultCloseOperation, setDesktopIcon, setFocusCycleRoot, setFrameIcon, setGlassPane, setIcon, setIconifiable, setJMenuBar, setLayer, setLayer, setLayeredPane, setLayout, setMaximizable, setMaximum, setMenuBar, setNormalBounds, setResizable, setSelected, setTitle, setUI, show, toBack, toFront, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • TimeSeriesSimulationPlotter

        public TimeSeriesSimulationPlotter​(java.lang.String title,
                                           java.lang.String yaxis)
      • TimeSeriesSimulationPlotter

        public TimeSeriesSimulationPlotter​(java.lang.String title,
                                           java.lang.String yaxis,
                                           boolean includeLegend,
                                           int maxSamples)
    • Method Detail

      • onEvent

        public void onEvent​(java.lang.Enum<?> type)
        Specified by:
        onEvent in interface microsim.event.EventListener
      • addSeries

        public void addSeries​(java.lang.String legend,
                              microsim.statistics.IDoubleSource plottableObject)
        Build a series retrieving data from a IDoubleSource object, using the default variableId.
        Parameters:
        legend - The legend name of the series.
        plottableObject - The data source object implementing the IDoubleSource interface.
      • addSeries

        public void addSeries​(java.lang.String legend,
                              microsim.statistics.IDoubleSource plottableObject,
                              java.lang.Enum<?> variableID)
        Build a series retrieving data from a IDoubleSource object.
        Parameters:
        legend - The legend name of the series.
        plottableObject - The data source object implementing the IDoubleSource interface.
        variableID - The variable id of the source object.
      • addSeries

        public void addSeries​(java.lang.String legend,
                              microsim.statistics.IFloatSource plottableObject)
        Build a series from a IFloatSource object, using the default variableId.
        Parameters:
        legend - The legend name of the series.
        plottableObject - The data source object implementing the IFloatSource interface.
      • addSeries

        public void addSeries​(java.lang.String legend,
                              microsim.statistics.IFloatSource plottableObject,
                              java.lang.Enum<?> variableID)
        Build a series from a IFloatSource object.
        Parameters:
        legend - The legend name of the series.
        plottableObject - The data source object implementing the IFloatSource interface.
        variableID - The variable id of the source object.
      • addSeries

        public void addSeries​(java.lang.String legend,
                              microsim.statistics.ILongSource plottableObject)
        Build a series from a ILongSource object, using the default variableId.
        Parameters:
        legend - The legend name of the series.
        plottableObject - The data source object implementing the ILongSource interface.
      • addSeries

        public void addSeries​(java.lang.String legend,
                              microsim.statistics.ILongSource plottableObject,
                              java.lang.Enum<?> variableID)
        Build a series from a ILongSource object.
        Parameters:
        legend - The legend name of the series.
        plottableObject - The data source object implementing the IDblSource interface.
        variableID - The variable id of the source object.
      • addSeries

        public void addSeries​(java.lang.String legend,
                              microsim.statistics.IIntSource plottableObject)
        Build a series from a IIntSource object, using the default variableId.
        Parameters:
        legend - The legend name of the series.
        plottableObject - The data source object implementing the IIntSource interface.
      • addSeries

        public void addSeries​(java.lang.String legend,
                              microsim.statistics.IIntSource plottableObject,
                              java.lang.Enum<?> variableID)
        Build a series from a IIntSource object.
        Parameters:
        legend - The legend name of the series.
        plottableObject - The data source object implementing the IIntSource interface.
        variableID - The variable id of the source object.
      • addSeries

        public void addSeries​(java.lang.String legend,
                              java.lang.Object target,
                              java.lang.String variableName,
                              boolean getFromMethod)
        Build a series from a generic object.
        Parameters:
        legend - The legend name of the series.
        target - The data source object.
        variableName - The variable or method name of the source object.
        getFromMethod - Specifies if the variableName is a field or a method.
      • getMaxSamples

        public int getMaxSamples()
        Max samples parameters allow to define a maximum number of points. When set the plotting window shifts automatically along with time.
      • setMaxSamples

        public void setMaxSamples​(int maxSamples)
        Set the max sample parameter.
        Parameters:
        maxSamples - Maximum number of time-steps rendered on x axis.