Class SgtMultilinePlot

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
All Implemented Interfaces:
java.awt.event.ComponentListener, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, AttributeListener, AttributeObject, DisplayListener, InterfaceObject, DataInputStreamListener<MguiDouble>, DataSourceListener, InterfaceDataSensor<MguiDouble>, CategoryObject, PopupMenuObject, NamedObject, ShapeListener, TreeObject, CleanableObject, IconObject

public class SgtMultilinePlot
extends InterfacePlotSgt<SgtLine>
Displays a line plot using the Scientific Graphics Toolkit (SGT) library. Allows multiple lines to be plotted, with arbitrary X and Y coordinates. For time series plots, see SgtTimeSeriesPlot.
Since:
1.0
Version:
1.0
Author:
Andrew Reid
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected PlotTimeSeriesDataSource<MguiDouble> data_source  
    protected java.util.ArrayList<MguiDouble> x  
    protected java.util.ArrayList<java.util.ArrayList<MguiDouble>> y  

    Fields inherited from class mgui.interfaces.plots.sgt.InterfacePlotSgt

    last_added, last_modified, last_removed, objects, plot_layout

    Fields inherited from class mgui.interfaces.plots.InterfacePlot

    icon, inputs, isDestroyed, relay_listeners, treeNode

    Fields inherited from class mgui.interfaces.InterfacePanel

    attributes, displayListeners, last_click_point, statusBar, tree_nodes, type

    Fields inherited from class javax.swing.JComponent

    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

    accessibleContext, 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

    Constructors
    Constructor Description
    SgtMultilinePlot()  
    SgtMultilinePlot​(java.lang.String title)  
  • Method Summary

    Modifier and Type Method Description
    protected void addDataSeries​(SgtLine line)
    Adds a line series to this plot, with the given label.
    void dataSourceEmission​(DataSourceEvent event)
    Responds to a signal emission from a data source.
    void dataSourceReset​(DataSourceEvent event)
    Resets this listener in response to a reset of the data source.
    InterfacePlotOptions<?> getOptionsInstance()
    Returns an instance of InterfacePlotOptions with which to specify this plot object.
    InterfacePlotDialog<?> getPlotDialog()
    Subclasses can use this method to supply a dialog box which defines this plot object.
    java.lang.String getPlotType()  
    void setDataSource​(InterfaceDataSource<?> source)  
    void setFromOptions​(InterfacePlotOptions<?> options)
    Sets up this plot object from options.
    protected void setPlotLayout()
    Sets a plot layout appropriate for this plot type of the sub class.
    protected void updateLines​(java.util.ArrayList<java.lang.String> list)
    Updates this plot's lines with a list of variables; will preserve existing lines if they are in list, and remove them otherwise.
    void updatePlotData()
    Updates this plot's data from its current state.

    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, getBaseline, getBaselineResizeBehavior, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface mgui.interfaces.attributes.AttributeObject

    getAttributeValue

    Methods inherited from interface mgui.interfaces.util.CleanableObject

    clean

    Methods inherited from interface mgui.interfaces.NamedObject

    getName, setName

    Methods inherited from interface mgui.interfaces.trees.TreeObject

    issueTreeNode
  • Field Details

  • Constructor Details

    • SgtMultilinePlot

      public SgtMultilinePlot()
    • SgtMultilinePlot

      public SgtMultilinePlot​(java.lang.String title)
  • Method Details

    • addDataSeries

      protected void addDataSeries​(SgtLine line)
      Adds a line series to this plot, with the given label. If this label currently exists, previous line will be overwritten.
      Parameters:
      label -
      line -
    • setDataSource

      public void setDataSource​(InterfaceDataSource<?> source) throws PlotException
      Specified by:
      setDataSource in class InterfacePlotSgt<SgtLine>
      Throws:
      PlotException
    • setPlotLayout

      protected void setPlotLayout()
      Description copied from class: InterfacePlotSgt
      Sets a plot layout appropriate for this plot type of the sub class.
      Specified by:
      setPlotLayout in class InterfacePlotSgt<SgtLine>
    • dataSourceEmission

      public void dataSourceEmission​(DataSourceEvent event)
      Description copied from interface: DataSourceListener
      Responds to a signal emission from a data source.
    • updatePlotData

      public void updatePlotData()
      Description copied from class: InterfacePlotSgt
      Updates this plot's data from its current state.
      Specified by:
      updatePlotData in class InterfacePlotSgt<SgtLine>
    • dataSourceReset

      public void dataSourceReset​(DataSourceEvent event)
      Description copied from interface: DataSourceListener
      Resets this listener in response to a reset of the data source.
    • updateLines

      protected void updateLines​(java.util.ArrayList<java.lang.String> list)
      Updates this plot's lines with a list of variables; will preserve existing lines if they are in list, and remove them otherwise. Will add new variables if not already in list, with default attributes - but using a novel colour.
      Parameters:
      list -
    • getPlotType

      public java.lang.String getPlotType()
      Overrides:
      getPlotType in class InterfacePlot<MguiDouble>
    • getOptionsInstance

      public InterfacePlotOptions<?> getOptionsInstance()
      Description copied from class: InterfacePlot
      Returns an instance of InterfacePlotOptions with which to specify this plot object. Subclasses should override to provide specific option instances.
      Overrides:
      getOptionsInstance in class InterfacePlot<MguiDouble>
      Returns:
      an instance of InterfacePlotOptions, or null if this class does not provide one.
    • setFromOptions

      public void setFromOptions​(InterfacePlotOptions<?> options)
      Description copied from class: InterfacePlot
      Sets up this plot object from options. Subclasses should override this method to set up the plot.
      Overrides:
      setFromOptions in class InterfacePlot<MguiDouble>
    • getPlotDialog

      public InterfacePlotDialog<?> getPlotDialog()
      Description copied from class: InterfacePlot
      Subclasses can use this method to supply a dialog box which defines this plot object.
      Overrides:
      getPlotDialog in class InterfacePlot<MguiDouble>
      Returns: