use of org.apache.jmeter.gui.MainFrame in project jmeter by apache.
the class JMeter method startGui.
/**
* Starts up JMeter in GUI mode
*/
private void startGui(String testFile) {
//NOSONAR
System.out.println("================================================================================");
//NOSONAR
System.out.println("Don't use GUI mode for load testing, only for Test creation and Test debugging !");
//NOSONAR
System.out.println("For load testing, use NON GUI Mode:");
//NOSONAR
System.out.println(" jmeter -n -t [jmx file] -l [results file] -e -o [Path to output folder]");
//NOSONAR
System.out.println("& adapt Java Heap to your test requirements:");
//NOSONAR
System.out.println(" Modify HEAP=\"-Xms512m -Xmx512m\" in the JMeter batch file");
//NOSONAR
System.out.println("================================================================================");
SplashScreen splash = new SplashScreen();
splash.showScreen();
String jMeterLaf = LookAndFeelCommand.getJMeterLaf();
try {
UIManager.setLookAndFeel(jMeterLaf);
} catch (Exception ex) {
log.warn("Could not set LAF to: {}", jMeterLaf, ex);
}
splash.setProgress(10);
JMeterUtils.applyHiDPIOnFonts();
PluginManager.install(this, true);
JMeterTreeModel treeModel = new JMeterTreeModel();
splash.setProgress(30);
JMeterTreeListener treeLis = new JMeterTreeListener(treeModel);
final ActionRouter instance = ActionRouter.getInstance();
instance.populateCommandMap();
splash.setProgress(60);
treeLis.setActionHandler(instance);
GuiPackage.initInstance(treeLis, treeModel);
splash.setProgress(80);
MainFrame main = new MainFrame(treeModel, treeLis);
splash.setProgress(100);
ComponentUtil.centerComponentInWindow(main, 80);
main.setVisible(true);
instance.actionPerformed(new ActionEvent(main, 1, ActionNames.ADD_ALL));
if (testFile != null) {
try {
File f = new File(testFile);
log.info("Loading file: {}", f);
FileServer.getFileServer().setBaseForScript(f);
HashTree tree = SaveService.loadTree(f);
GuiPackage.getInstance().setTestPlanFile(f.getAbsolutePath());
Load.insertLoadedTree(1, tree);
} catch (ConversionException e) {
log.error("Failure loading test file", e);
JMeterUtils.reportErrorToUser(SaveService.CEtoString(e));
} catch (Exception e) {
log.error("Failure loading test file", e);
JMeterUtils.reportErrorToUser(e.toString());
}
} else {
JTree jTree = GuiPackage.getInstance().getMainFrame().getTree();
TreePath path = jTree.getPathForRow(0);
jTree.setSelectionPath(path);
FocusRequester.requestFocus(jTree);
}
splash.setProgress(100);
splash.close();
}
use of org.apache.jmeter.gui.MainFrame in project jmeter by apache.
the class JMeterTreeListener method mousePressed.
@Override
public void mousePressed(MouseEvent e) {
// Get the Main Frame.
MainFrame mainFrame = GuiPackage.getInstance().getMainFrame();
// Close any Main Menu that is open
mainFrame.closeMenu();
int selRow = tree.getRowForLocation(e.getX(), e.getY());
if (tree.getPathForLocation(e.getX(), e.getY()) != null) {
log.debug("mouse pressed, updating currentPath");
currentPath = tree.getPathForLocation(e.getX(), e.getY());
}
if (selRow != -1) {
if (isRightClick(e)) {
if (tree.getSelectionCount() < 2) {
tree.setSelectionPath(currentPath);
}
log.debug("About to display pop-up");
displayPopUp(e);
}
}
}
Aggregations