# Class StatGraphVisualizer

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.apache.jmeter.gui.AbstractJMeterGuiComponent
org.apache.jmeter.visualizers.gui.AbstractListenerGui
org.apache.jmeter.visualizers.gui.AbstractVisualizer
org.apache.jmeter.visualizers.StatGraphVisualizer

All Implemented Interfaces:
  `ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ChangeListener, ClearGui, JMeterGUIComponent, UnsharedComponent, Clearable, Printable, Visualizer`

public class StatGraphVisualizer extends AbstractVisualizer implements Clearable, ActionListener
Aggregrate Table-Based Reporting Visualizer for JMeter. Props to the people who've done the other visualizers ahead of me (Stefano Mazzocchi), who I borrowed code from to start me off (and much code may still exist). Thank you!

See Also:
  - Serialized Form

## Nested Class Summary

### Nested classes/interfaces inherited from class JPanel

`JPanel.AccessibleJPanel`

### Nested classes/interfaces inherited from class JComponent

`JComponent.AccessibleJComponent`

### Nested classes/interfaces inherited from class Container

`Container.AccessibleAWTContainer`

### Nested classes/interfaces inherited from class Component

`Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

## Field Summary

### Fields inherited from class AbstractVisualizer

`collector, isStats`

### Fields inherited from class AbstractJMeterGuiComponent

`namePanel`

### Fields inherited from class JComponent

`listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

### Fields inherited from class Component

`accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

### Fields inherited from interface ImageObserver

`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

## Constructor Summary

Constructors
Constructor
Description
`StatGraphVisualizer()`

## Method Summary

Modifier and Type
Method
Description
`void`
`actionPerformed(ActionEvent event)`
`void`
`add(SampleResult res)`
This method is called by sampling thread to inform the visualizer about the arrival of a new sample.
`void`
`clearData()`
Clears this visualizer and its model, and forces a repaint of the table.
`static List<List<Object>>`
`getAllTableData(ObjectTableModel model, Format[] formats)`
We use this method to get the data, since we are using ObjectTableModel, so the calling getDataVector doesn't work as expected.
`String[]`
`getAxisLabels()`
`double[][]`
`getData()`
`String`
`getLabelResource()`
Get the component's resource name, which getStaticLabel uses to derive the component's label in the local language.
`JComponent`
`getPrintableComponent()`
Subclasses need to over-ride this method, if they wish to return something other than the Visualizer itself.
`void`
`makeGraph()`
`static boolean`
`testFunctors()`

### Methods inherited from class AbstractVisualizer

`clearGui, configure, configureTestElement, createTestElement, getErrorLoggingCheckbox, getFile, getFilePanel, getModel, isStats, makeTitlePanel, modifyTestElement, setFile, setModel, stateChanged`

### Methods inherited from class AbstractListenerGui

`createPopupMenu, getMenuCategories`

### Methods inherited from class AbstractJMeterGuiComponent

`configureTestElement, createTitleLabel, getComment, getDocAnchor, getName, getNamePanel, getStaticLabel, isEnabled, makeBorder, makeScrollPane, makeScrollPane, setComment, setEnabled, setName`

### Methods inherited from class JPanel

`getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

### Methods inherited from class 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

### Methods inherited from class 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 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, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, 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, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

### Methods inherited from class Object

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

## Constructor Details

### StatGraphVisualizer

public StatGraphVisualizer()

## Method Details

### testFunctors

public static boolean testFunctors()

### getLabelResource

public String getLabelResource()
Description copied from interface: `JMeterGUIComponent`
Get the component's resource name, which getStaticLabel uses to derive the component's label in the local language. The resource name is fixed, and does not vary with the selected language. Normally this method should be overriden in preference to overriding getStaticLabel(). However where the resource name is not available or required, getStaticLabel() may be overridden instead.

Specified by:
  `getLabelResource` in interface `JMeterGUIComponent`
Returns:
  the resource name

### add

public void add(SampleResult res)
Description copied from interface: `Visualizer`
This method is called by sampling thread to inform the visualizer about the arrival of a new sample.

Specified by:
  `add` in interface `Visualizer`
Parameters:
  `res` - the newly arrived sample

### clearData

public void clearData()
Clears this visualizer and its model, and forces a repaint of the table.

Specified by:
  `clearData` in interface `Clearable`

### makeGraph

public void makeGraph()

### getData

public double[][] getData()

### getAxisLabels

public String[] getAxisLabels()

### getAllTableData

public static List<List<Object>> getAllTableData(ObjectTableModel model, Format[] formats)
We use this method to get the data, since we are using ObjectTableModel, so the calling getDataVector doesn't work as expected.

Parameters:
  `model` - `ObjectTableModel`
  `formats` - Array of `Format` array can contain null formatters in this case value is added as is
Returns:
  the data from the model

### actionPerformed

public void actionPerformed(ActionEvent event)

Specified by:
  `actionPerformed` in interface `ActionListener`

### getPrintableComponent

public JComponent getPrintableComponent()
Description copied from class: `AbstractJMeterGuiComponent`
Subclasses need to over-ride this method, if they wish to return something other than the Visualizer itself.

Specified by:
  `getPrintableComponent` in interface `Printable`
Overrides:
  `getPrintableComponent` in class `AbstractJMeterGuiComponent`
Returns:
  this object