Package 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
  Description
  `final 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
  Description
  `static final String`
  `LOCAL`

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

  `accessibleContext, 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 java.awt.image.ImageObserver

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

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

  `DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE`

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, 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 Details

  - ### LOCAL

    public static final String LOCAL
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### 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 Details

  - ### 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