public abstract class AbstractVisualizer extends AbstractListenerGui implements Visualizer, ChangeListener, UnsharedComponent, Clearable
JMeterGUIComponent
interface
that allows your Gui visualizer to "plug-in" to the JMeter GUI environment.
Provides implementations for the following methods:
configure(TestElement)
.
Any additional parameters of your Visualizer need to be handled by you.createTestElement()
.
For most purposes, the default
ResultCollector
created
by this method is sufficient.getMenuCategories()
.
To control where in the GUI your visualizer can be added.modifyTestElement(TestElement)
.
Again, additional parameters you require have to be handled by you.createPopupMenu()
.makeTitlePanel()
. Returns a panel that includes the name of
the component, and a FilePanel that allows users to control what file samples
are logged to.getModel()
and setModel(ResultCollector)
methods for
setting and getting the model class that handles the receiving and logging of
sample results.add(SampleResult)
method and display the results as you see fit. This AbstractVisualizer and
the default
ResultCollector
handle
logging and registering to receive SampleEvents for you - all you need to do
is include the JPanel created by makeTitlePanel somewhere in your gui to
allow users set the log file.
If you are doing more than that, you may need to extend
ResultCollector
as well
and modify the configure(TestElement)
,
modifyTestElement(TestElement)
, and createTestElement()
methods to create and modify your alternate ResultCollector.
JPanel.AccessibleJPanel
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
protected ResultCollector |
collector |
protected boolean |
isStats |
namePanel
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
AbstractVisualizer() |
Modifier and Type | Method and Description |
---|---|
void |
clearGui()
Provides a default implementation that resets the name field to the value of
getStaticLabel(), reset comment and sets enabled to true.
|
void |
configure(TestElement el)
A newly created gui component can be initialized with the contents of a
Test Element object by calling this method.
|
protected void |
configureTestElement(AbstractListenerElement mc)
This provides a convenience for extenders when they implement the
JMeterGUIComponent.createTestElement()
method. |
TestElement |
createTestElement()
JMeter test components are separated into a model and a GUI
representation.
|
protected JCheckBox |
getErrorLoggingCheckbox()
Gets the checkbox which selects whether or not only errors should be
logged.
|
String |
getFile()
Gets the filename which has been entered in the FilePanel.
|
protected Component |
getFilePanel()
Gets the file panel which allows the user to save results to a file.
|
protected ResultCollector |
getModel()
Provides access to the ResultCollector model class for extending
implementations.
|
boolean |
isStats()
This method is used to indicate a visualizer generates statistics.
|
protected Container |
makeTitlePanel()
Create a standard title section for JMeter components.
|
void |
modifyTestElement(TestElement c)
GUI components are responsible for populating TestElements they create
with the data currently held in the GUI components.
|
void |
setFile(String filename)
Sets the filename which results will be saved to.
|
protected void |
setModel(ResultCollector collector)
Provides extending classes the opportunity to set the ResultCollector
model for the Visualizer.
|
void |
stateChanged(ChangeEvent e)
Invoked when the target of the listener has changed its state.
|
createPopupMenu, getMenuCategories
configureTestElement, createTitleLabel, getComment, getDocAnchor, getName, getNamePanel, getPrintableComponent, getStaticLabel, isEnabled, makeBorder, makeScrollPane, makeScrollPane, setComment, setEnabled, setName, wrapTitlePanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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
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
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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
add
canBeAdded, getLabelResource
protected ResultCollector collector
protected boolean isStats
public boolean isStats()
Visualizer
isStats
in interface Visualizer
protected JCheckBox getErrorLoggingCheckbox()
makeTitlePanel()
,
and the behavior is handled in this base class.protected ResultCollector getModel()
protected Component getFilePanel()
makeTitlePanel()
, and the
behavior is handled in this base class.public void setFile(String filename)
filename
- the new filenamegetFilePanel()
public String getFile()
getFilePanel()
public void stateChanged(ChangeEvent e)
stateChanged
in interface ChangeListener
e
- the event that has occurredpublic TestElement createTestElement()
JMeterGUIComponent
The canonical implementation looks like this:
public TestElement createTestElement() { TestElementXYZ el = new TestElementXYZ(); modifyTestElement(el); return el; }
createTestElement
in interface JMeterGUIComponent
public void modifyTestElement(TestElement c)
JMeterGUIComponent
The canonical implementation looks like this:
public void modifyTestElement(TestElement element) { element.clear(); // many implementations use this configureTestElement(element); // Using the element setters (preferred): TestElementXYZ xyz = (TestElementXYZ) element; xyz.setState(guiState.getText()); xyz.setCode(guiCode.getText()); ... other GUI fields ... // or directly (do not use unless there is no setter for the field): element.setProperty(TestElementXYZ.STATE, guiState.getText()) element.setProperty(TestElementXYZ.CODE, guiCode.getText()) ... other GUI fields ... }
modifyTestElement
in interface JMeterGUIComponent
c
- the TestElement to modifypublic void configure(TestElement el)
AbstractJMeterGuiComponent
AbstractJMeterGuiComponent provides a partial implementation of this method, setting the name of the component and its enabled status. Subclasses should override this method, performing their own configuration as needed, but also calling this super-implementation.
configure
in interface JMeterGUIComponent
configure
in class AbstractJMeterGuiComponent
el
- the TestElement to configureprotected void configureTestElement(AbstractListenerElement mc)
JMeterGUIComponent.createTestElement()
method. This method will set the name, gui class, and test class for the
created Test Element. It should be called by every extending class when
creating Test Elements, as that will best assure consistent behavior.mc
- the TestElement being created.protected Container makeTitlePanel()
This method is typically added to the top of the component at the beginning of the component's init method.
makeTitlePanel
in class AbstractJMeterGuiComponent
protected void setModel(ResultCollector collector)
collector
- ResultCollector
for the visualizerpublic void clearGui()
AbstractJMeterGuiComponent
clearGui
in interface ClearGui
clearGui
in class AbstractJMeterGuiComponent
Copyright © 1998-2019 Apache Software Foundation. All Rights Reserved.