org.apache.jmeter.gui

## Class MainFrame

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - java.awt.Window
      - - java.awt.Frame
        - - javax.swing.JFrame
          - - org.apache.jmeter.gui.MainFrame

- All Implemented Interfaces:
    DropTargetListener, ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants, Clearable, Remoteable, TestStateListener

      public class MainFrame
      extends JFrame
      implements TestStateListener, Remoteable, DropTargetListener, Clearable, ActionListener

  The main JMeter frame, containing the menu bar, test tree, and an area for JMeter component GUIs.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MainFrame.ErrorsAndFatalsCounterLogTarget` ErrorsAndFatalsCounterLogTarget.

    - ### Nested classes/interfaces inherited from class javax.swing.JFrame

      `JFrame.AccessibleJFrame`

    - ### Nested classes/interfaces inherited from class java.awt.Frame

      `Frame.AccessibleAWTFrame`

    - ### Nested classes/interfaces inherited from class java.awt.Window

      `Window.AccessibleAWTWindow, Window.Type`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

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

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `LOCAL`

    - ### Fields inherited from class javax.swing.JFrame

      `accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled`

    - ### Fields inherited from class java.awt.Frame

      `CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR`

    - ### Fields inherited from class java.awt.Component

      `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### Fields inherited from interface javax.swing.WindowConstants

      `DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE`

    - ### Fields inherited from interface java.awt.image.ImageObserver

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

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MainFrame()` Deprecated. Do not use - only needed for JUnit tests
    `MainFrame(TreeModel treeModel, JMeterTreeListener treeListener)` Create a new JMeter frame.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `actionPerformed(ActionEvent event)` Handles click on warnIndicator
    `void` | `clearData()` Clears the current data of the object.
    `void` | `closeMenu()` Close the currently selected menu.
    `protected void` | `computeTestDuration(ActionEvent evt)`
    `void` | `dragEnter(DropTargetDragEvent dtde)`
    `void` | `dragExit(DropTargetEvent dte)`
    `void` | `dragOver(DropTargetDragEvent dtde)`
    `void` | `drop(DropTargetDropEvent dtde)` Handler of Top level Dnd
    `void` | `dropActionChanged(DropTargetDragEvent dtde)`
    `JTree` | `getTree()`
    `void` | `initTopLevelDndHandler()` Support for Test Plan Dnd see BUG 52281 (when JDK6 will be minimum JDK target)
    `boolean` | `openJmxFilesFromDragAndDrop(Transferable tr)`
    `void` | `setEditAddEnabled(boolean enabled)` Specify whether or not the Edit|Add menu item should be enabled.
    `void` | `setEditAddMenu(JMenu menu)` Set the menu that should be used for the Edit|Add menu.
    `void` | `setEditEnabled(boolean enabled)` Specify whether or not the Edit menu item should be enabled.
    `void` | `setEditMenu(JPopupMenu menu)` Set the menu that should be used for the Edit menu.
    `void` | `setExtendedFrameTitle(String fname)`
    `void` | `setFileLoadEnabled(boolean enabled)` Specify whether or not the File|Load menu item should be enabled.
    `void` | `setFileRevertEnabled(boolean enabled)` Specify whether or not the File|Revert item should be enabled.
    `void` | `setFileSaveEnabled(boolean enabled)` Specify whether or not the File|Save menu item should be enabled.
    `void` | `setMainPanel(JComponent comp)`
    `void` | `setProjectFileLoaded(String file)` Specify the project file that was just loaded
    `void` | `showStoppingMessage(String host)` Show a dialog indicating that JMeter threads are stopping on a particular host.
    `void` | `testEnded()` Called when a test is ended on the local system.
    `void` | `testEnded(String host)` Called when a test is ended on the remote system.
    `void` | `testStarted()` Called when a test is started on the local system.
    `void` | `testStarted(String host)` Called when a test is started on a specific host.
    `void` | `updateCounts()`
    `void` | `updateUndoRedoIcons(boolean canUndo, boolean canRedo)` Update Undo/Redo icons state

    - ### Methods inherited from class javax.swing.JFrame

      `addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update`

    - ### Methods inherited from class java.awt.Frame

      `addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated`

    - ### Methods inherited from class java.awt.Window

      `addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront`

    - ### Methods inherited from class java.awt.Container

      `add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

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

    - ### Methods inherited from interface java.awt.MenuContainer

      `getFont, postEvent`

- - ### Field Detail

    - #### LOCAL

          public static final String LOCAL

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### MainFrame

          public MainFrame(TreeModel treeModel,
                           JMeterTreeListener treeListener)

      Create a new JMeter frame.
      Parameters:
        `treeModel` - the model for the test tree
        `treeListener` - the listener for the test tree

    - #### MainFrame

          @Deprecated
          public MainFrame()

      Deprecated. Do not use - only needed for JUnit tests
      Default constructor for the JMeter frame. This constructor will not properly initialize the tree, so don't use it.

  - ### Method Detail

    - #### computeTestDuration

          protected void computeTestDuration(ActionEvent evt)

    - #### setFileLoadEnabled

          public void setFileLoadEnabled(boolean enabled)

      Specify whether or not the File|Load menu item should be enabled.
      Parameters:
        `enabled` - true if the menu item should be enabled, false otherwise

    - #### setFileSaveEnabled

          public void setFileSaveEnabled(boolean enabled)

      Specify whether or not the File|Save menu item should be enabled.
      Parameters:
        `enabled` - true if the menu item should be enabled, false otherwise

    - #### setFileRevertEnabled

          public void setFileRevertEnabled(boolean enabled)

      Specify whether or not the File|Revert item should be enabled.
      Parameters:
        `enabled` - true if the menu item should be enabled, false otherwise

    - #### setProjectFileLoaded

          public void setProjectFileLoaded(String file)

      Specify the project file that was just loaded
      Parameters:
        `file` - - the full path to the file that was loaded

    - #### setEditMenu

          public void setEditMenu(JPopupMenu menu)

      Set the menu that should be used for the Edit menu.
      Parameters:
        `menu` - the new Edit menu

    - #### setEditEnabled

          public void setEditEnabled(boolean enabled)

      Specify whether or not the Edit menu item should be enabled.
      Parameters:
        `enabled` - true if the menu item should be enabled, false otherwise

    - #### setEditAddMenu

          public void setEditAddMenu(JMenu menu)

      Set the menu that should be used for the Edit|Add menu.
      Parameters:
        `menu` - the new Edit|Add menu

    - #### setEditAddEnabled

          public void setEditAddEnabled(boolean enabled)

      Specify whether or not the Edit|Add menu item should be enabled.
      Parameters:
        `enabled` - true if the menu item should be enabled, false otherwise

    - #### closeMenu

          public void closeMenu()

      Close the currently selected menu.

    - #### showStoppingMessage

          public void showStoppingMessage(String host)

      Show a dialog indicating that JMeter threads are stopping on a particular host.
      Parameters:
        `host` - the host where JMeter threads are stopping

    - #### updateCounts

          public void updateCounts()

    - #### setMainPanel

          public void setMainPanel(JComponent comp)

    - #### getTree

          public JTree getTree()

    - #### testStarted

          public void testStarted()

      Called when a test is started on the local system. This implementation sets the running indicator and ensures that the menubar is enabled and in the running state.
      Specified by:
        `testStarted` in interface `TestStateListener`
      See Also:
        `StandardJMeterEngine.run()`

    - #### testStarted

          public void testStarted(String host)

      Called when a test is started on a specific host. This implementation sets the running indicator and ensures that the menubar is in the running state.
      Specified by:
        `testStarted` in interface `TestStateListener`
      Parameters:
        `host` - the host where the test is starting
      See Also:
        `StandardJMeterEngine.run()`

    - #### testEnded

          public void testEnded()

      Called when a test is ended on the local system. This implementation disables the menubar, stops the running indicator, and closes the stopping message dialog.
      Specified by:
        `testEnded` in interface `TestStateListener`
      See Also:
        `StandardJMeterEngine.stopTest()`

    - #### testEnded

          public void testEnded(String host)

      Called when a test is ended on the remote system. This implementation stops the running indicator and closes the stopping message dialog.
      Specified by:
        `testEnded` in interface `TestStateListener`
      Parameters:
        `host` - the host where the test is ending
      See Also:
        `StandardJMeterEngine.stopTest()`

    - #### initTopLevelDndHandler

          public void initTopLevelDndHandler()

      Support for Test Plan Dnd see BUG 52281 (when JDK6 will be minimum JDK target)

    - #### setExtendedFrameTitle

          public void setExtendedFrameTitle(String fname)

    - #### dragEnter

          public void dragEnter(DropTargetDragEvent dtde)

      Specified by:
        `dragEnter` in interface `DropTargetListener`

    - #### dragExit

          public void dragExit(DropTargetEvent dte)

      Specified by:
        `dragExit` in interface `DropTargetListener`

    - #### dragOver

          public void dragOver(DropTargetDragEvent dtde)

      Specified by:
        `dragOver` in interface `DropTargetListener`

    - #### drop

          public void drop(DropTargetDropEvent dtde)

      Handler of Top level Dnd
      Specified by:
        `drop` in interface `DropTargetListener`

    - #### openJmxFilesFromDragAndDrop

          public boolean openJmxFilesFromDragAndDrop(Transferable tr)
                                              throws UnsupportedFlavorException,
                                                     IOException

      Throws:
        `UnsupportedFlavorException`
        `IOException`

    - #### dropActionChanged

          public void dropActionChanged(DropTargetDragEvent dtde)

      Specified by:
        `dropActionChanged` in interface `DropTargetListener`

    - #### clearData

          public void clearData()

      Description copied from interface: `Clearable`
      Clears the current data of the object.
      Specified by:
        `clearData` in interface `Clearable`

    - #### actionPerformed

          public void actionPerformed(ActionEvent event)

      Handles click on warnIndicator
      Specified by:
        `actionPerformed` in interface `ActionListener`

    - #### updateUndoRedoIcons

          public void updateUndoRedoIcons(boolean canUndo,
                                          boolean canRedo)

      Update Undo/Redo icons state
      Parameters:
        `canUndo` - Flag whether the undo button should be enabled
        `canRedo` - Flag whether the redo button should be enabled

Copyright © 1998-2022 Apache Software Foundation. All Rights Reserved.