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.AccessibleJPanelJComponent.AccessibleJComponentContainer.AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy| Modifier and Type | Field and Description |
|---|---|
protected ResultCollector |
collector |
protected boolean |
isStats |
namePanellistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTABORT, 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, getMenuCategoriesconfigureTestElement, createTitleLabel, getComment, getDocAnchor, getName, getNamePanel, getPrintableComponent, getStaticLabel, isEnabled, makeBorder, makeScrollPane, makeScrollPane, setComment, setEnabled, setName, wrapTitlePanelgetAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIaddAncestorListener, 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, updateadd, 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, validateTreeaction, 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, transferFocusUpCycleclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddcanBeAdded, getLabelResourceprotected ResultCollector collector
protected boolean isStats
public boolean isStats()
VisualizerisStats in interface Visualizerprotected 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 ChangeListenere - the event that has occurredpublic TestElement createTestElement()
JMeterGUIComponentThe canonical implementation looks like this:
public TestElement createTestElement() {
TestElementXYZ el = new TestElementXYZ();
modifyTestElement(el);
return el;
}
createTestElement in interface JMeterGUIComponentpublic void modifyTestElement(TestElement c)
JMeterGUIComponentThe 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 JMeterGUIComponentc - the TestElement to modifypublic void configure(TestElement el)
AbstractJMeterGuiComponentAbstractJMeterGuiComponent 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 JMeterGUIComponentconfigure in class AbstractJMeterGuiComponentel - 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 AbstractJMeterGuiComponentprotected void setModel(ResultCollector collector)
collector - ResultCollector for the visualizerpublic void clearGui()
AbstractJMeterGuiComponentclearGui in interface ClearGuiclearGui in class AbstractJMeterGuiComponentCopyright © 1998-2019 Apache Software Foundation. All Rights Reserved.