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