Class RunTimeGui

  • All Implemented Interfaces:
    java.awt.MenuContainer , java.awt.event.ActionListener , java.awt.image.ImageObserver , java.io.Serializable , java.util.EventListener , javax.accessibility.Accessible , javax.swing.TransferHandler.HasGetTransferHandler , org.apache.jmeter.gui.ClearGui , org.apache.jmeter.gui.JMeterGUIComponent , org.apache.jmeter.visualizers.Printable

    
    public class RunTimeGui
    extends AbstractControllerGui implements ActionListener
                        

    The user interface for a controller which specifies that its subcomponents should be executed some number of seconds in a loop. This component can be used standalone or embedded into some other component.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Constructor Summary

      Constructors 
      Constructor Description
      RunTimeGui() Create a new LoopControlPanel as a standalone component.
      RunTimeGui(boolean displayName) Create a new LoopControlPanel as either a standalone or an embedded component.
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      void configure(TestElement element) A newly created component can be initialized with the contents of a Test Element object by calling this method.
      TestElement createTestElement() JMeter test components are separated into a model and a GUI representation.
      void modifyTestElement(TestElement lc) GUI components are responsible for populating TestElements they create with the data currently held in the GUI components.
      void clearGui() Implements JMeterGUIComponent.
      void actionPerformed(ActionEvent event) Invoked when an action occurs.
      String getLabelResource() Get the component's resource name, which getStaticLabel uses to derive the component's label in the local language.
      • Methods inherited from class org.apache.jmeter.gui.AbstractJMeterGuiComponent

        getComment, getDocAnchor, getName, getPrintableComponent, getStaticLabel, isEnabled, setComment, setEnabled, setName
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, setUI, updateUI
      • Methods inherited from class javax.swing.JComponent

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

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

        action, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, createImage, createVolatileImage, dispatchEvent, enableInputMethods, getBackground, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getParent, getPropertyChangeListeners, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusOwner, isFocusTraversable, isFocusable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, resize, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusTraversalKeysEnabled, setFocusable, setIgnoreRepaint, setLocale, setLocation, setMixingCutoutShape, setSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class org.apache.jmeter.control.gui.AbstractControllerGui

        createPopupMenu, getMenuCategories
      • Methods inherited from class org.apache.jmeter.gui.JMeterGUIComponent

        assignDefaultValues, canBeAdded, makeTestElement
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RunTimeGui

        RunTimeGui()
        Create a new LoopControlPanel as a standalone component.
      • RunTimeGui

        RunTimeGui(boolean displayName)
        Create a new LoopControlPanel as either a standalone or an embedded component.
        Parameters:
        displayName - indicates whether or not this component should display its name.
    • Method Detail

      • configure

         void configure(TestElement element)

        A newly created component can be initialized with the contents of a Test Element object by calling this method. The component is responsible for querying the Test Element object for the relevant information to display in its GUI.

        Parameters:
        element - the TestElement to configure
      • createTestElement

         TestElement createTestElement()

        JMeter test components are separated into a model and a GUI representation. The model holds the data and the GUI displays it. The GUI class is responsible for knowing how to create and initialize with data the model class that it knows how to display, and this method is called when new test elements are created.

        Since 5.6.3, the default implementation is as follows, and subclasses should override makeTestElement

        public TestElement createTestElement() {
            TestElement element = makeTestElement();
            assignDefaultValues(element);
            return el;
        }
        

        Before 5.6.3 the canonical implementation was as follows, however, it is recommended to avoid overriding createTestElement and override makeTestElement instead.

        public TestElement createTestElement() {
            TestElementXYZ el = new TestElementXYZ();
            modifyTestElement(el);
            return el;
        }
        
        Returns:

        the Test Element object that the GUI component represents.

      • modifyTestElement

         void modifyTestElement(TestElement lc)

        GUI components are responsible for populating TestElements they create with the data currently held in the GUI components. This method should overwrite whatever data is currently in the TestElement as it is called after a user has filled out the form elements in the gui with new information.

        If you override AbstractJMeterGuiComponent, you might want using bindingGroup instead of overriding modifyTestElement.

        The canonical implementation looks like this:

        @Override
        public void modifyTestElement(TestElement element) {
            super.modifyTestElement(element); // clear the element and assign basic fields like name, gui class, test class
            // Using the element setters (preferred):
            // If the field is empty, you probably want to remove the property instead of storing an empty string
            // See Streamline binding of UI elements to TestElement properties
            // for more details
            TestElementXYZ xyz = (TestElementXYZ) element;
            xyz.setState(StringUtils.defaultIfEmpty(guiState.getText(), null));
            xyz.setCode(StringUtils.defaultIfEmpty(guiCode.getText(), null));
            ... other GUI fields ...
            // or directly (do not use unless there is no setter for the field):
            element.setProperty(TestElementXYZ.STATE, StringUtils.defaultIfEmpty(guiState.getText(), null))
            element.setProperty(TestElementXYZ.CODE, StringUtils.defaultIfEmpty(guiCode.getText(), null))
            ... other GUI fields ...
        }
        
      • clearGui

         void clearGui()

        Implements JMeterGUIComponent.clearGui

      • actionPerformed

         void actionPerformed(ActionEvent event)

        Invoked when an action occurs. This implementation assumes that the target component is the infinite seconds checkbox.

        Parameters:
        event - the event that has occurred
      • getLabelResource

         String getLabelResource()

        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 overridden in preference to overriding getStaticLabel(). However where the resource name is not available or required, getStaticLabel() may be overridden instead.

        Returns:

        the resource name