<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>JMeterGUIComponent (Apache JMeter dist API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.jmeter.gui, interface: JMeterGUIComponent">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><b>Apache JMeter</b></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.jmeter.gui</a></div>
<h1 title="Interface JMeterGUIComponent" class="title">Interface JMeterGUIComponent</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="ClearGui.html" title="interface in org.apache.jmeter.gui">ClearGui</a></code></dd>
</dl>
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../assertions/gui/AbstractAssertionGui.html" title="class in org.apache.jmeter.assertions.gui">AbstractAssertionGui</a></code>, <code><a href="../config/gui/AbstractConfigGui.html" title="class in org.apache.jmeter.config.gui">AbstractConfigGui</a></code>, <code><a href="../control/gui/AbstractControllerGui.html" title="class in org.apache.jmeter.control.gui">AbstractControllerGui</a></code>, <code><a href="AbstractJMeterGuiComponent.html" title="class in org.apache.jmeter.gui">AbstractJMeterGuiComponent</a></code>, <code><a href="../visualizers/gui/AbstractListenerGui.html" title="class in org.apache.jmeter.visualizers.gui">AbstractListenerGui</a></code>, <code><a href="../processor/gui/AbstractPostProcessorGui.html" title="class in org.apache.jmeter.processor.gui">AbstractPostProcessorGui</a></code>, <code><a href="../processor/gui/AbstractPreProcessorGui.html" title="class in org.apache.jmeter.processor.gui">AbstractPreProcessorGui</a></code>, <code><a href="../timers/gui/AbstractRandomTimerGui.html" title="class in org.apache.jmeter.timers.gui">AbstractRandomTimerGui</a></code>, <code><a href="../samplers/gui/AbstractSamplerGui.html" title="class in org.apache.jmeter.samplers.gui">AbstractSamplerGui</a></code>, <code><a href="AbstractScopedJMeterGuiComponent.html" title="class in org.apache.jmeter.gui">AbstractScopedJMeterGuiComponent</a></code>, <code><a href="../threads/gui/AbstractThreadGroupGui.html" title="class in org.apache.jmeter.threads.gui">AbstractThreadGroupGui</a></code>, <code><a href="../timers/gui/AbstractTimerGui.html" title="class in org.apache.jmeter.timers.gui">AbstractTimerGui</a></code>, <code><a href="../visualizers/gui/AbstractVisualizer.html" title="class in org.apache.jmeter.visualizers.gui">AbstractVisualizer</a></code>, <code><a href="../protocol/http/control/gui/AjpSamplerGui.html" title="class in org.apache.jmeter.protocol.http.control.gui">AjpSamplerGui</a></code>, <code><a href="../protocol/http/modifier/gui/AnchorModifierGui.html" title="class in org.apache.jmeter.protocol.http.modifier.gui">AnchorModifierGui</a></code>, <code><a href="../config/gui/ArgumentsPanel.html" title="class in org.apache.jmeter.config.gui">ArgumentsPanel</a></code>, <code><a href="../assertions/gui/AssertionGui.html" title="class in org.apache.jmeter.assertions.gui">AssertionGui</a></code>, <code><a href="../visualizers/AssertionVisualizer.html" title="class in org.apache.jmeter.visualizers">AssertionVisualizer</a></code>, <code><a href="../protocol/http/gui/AuthPanel.html" title="class in org.apache.jmeter.protocol.http.gui">AuthPanel</a></code>, <code><a href="../visualizers/backend/BackendListenerGui.html" title="class in org.apache.jmeter.visualizers.backend">BackendListenerGui</a></code>, <code><a href="../assertions/gui/BeanShellAssertionGui.html" title="class in org.apache.jmeter.assertions.gui">BeanShellAssertionGui</a></code>, <code><a href="../protocol/java/control/gui/BeanShellSamplerGui.html" title="class in org.apache.jmeter.protocol.java.control.gui">BeanShellSamplerGui</a></code>, <code><a href="../extractor/gui/BoundaryExtractorGui.html" title="class in org.apache.jmeter.extractor.gui">BoundaryExtractorGui</a></code>, <code><a href="../protocol/http/gui/CacheManagerGui.html" title="class in org.apache.jmeter.protocol.http.gui">CacheManagerGui</a></code>, <code><a href="../visualizers/ComparisonVisualizer.html" title="class in org.apache.jmeter.visualizers">ComparisonVisualizer</a></code>, <code><a href="../timers/gui/ConstantTimerGui.html" title="class in org.apache.jmeter.timers.gui">ConstantTimerGui</a></code>, <code><a href="../protocol/http/gui/CookiePanel.html" title="class in org.apache.jmeter.protocol.http.gui">CookiePanel</a></code>, <code><a href="../modifiers/gui/CounterConfigGui.html" title="class in org.apache.jmeter.modifiers.gui">CounterConfigGui</a></code>, <code><a href="../control/gui/CriticalSectionControllerGui.html" title="class in org.apache.jmeter.control.gui">CriticalSectionControllerGui</a></code>, <code><a href="../protocol/http/gui/DNSCachePanel.html" title="class in org.apache.jmeter.protocol.http.gui">DNSCachePanel</a></code>, <code><a href="../assertions/gui/DurationAssertionGui.html" title="class in org.apache.jmeter.assertions.gui">DurationAssertionGui</a></code>, <code><a href="../control/gui/ForeachControlPanel.html" title="class in org.apache.jmeter.control.gui">ForeachControlPanel</a></code>, <code><a href="../protocol/ftp/config/gui/FtpConfigGui.html" title="class in org.apache.jmeter.protocol.ftp.config.gui">FtpConfigGui</a></code>, <code><a href="../protocol/ftp/control/gui/FtpTestSamplerGui.html" title="class in org.apache.jmeter.protocol.ftp.control.gui">FtpTestSamplerGui</a></code>, <code><a href="../timers/gui/GaussianRandomTimerGui.html" title="class in org.apache.jmeter.timers.gui">GaussianRandomTimerGui</a></code>, <code><a href="../protocol/http/control/gui/GraphQLHTTPSamplerGui.html" title="class in org.apache.jmeter.protocol.http.control.gui">GraphQLHTTPSamplerGui</a></code>, <code><a href="../visualizers/GraphVisualizer.html" title="class in org.apache.jmeter.visualizers">GraphVisualizer</a></code>, <code><a href="../protocol/http/gui/HeaderPanel.html" title="class in org.apache.jmeter.protocol.http.gui">HeaderPanel</a></code>, <code><a href="../assertions/gui/HTMLAssertionGui.html" title="class in org.apache.jmeter.assertions.gui">HTMLAssertionGui</a></code>, <code><a href="../extractor/gui/HtmlExtractorGui.html" title="class in org.apache.jmeter.extractor.gui">HtmlExtractorGui</a></code>, <code><a href="../protocol/http/gui/HTTPArgumentsPanel.html" title="class in org.apache.jmeter.protocol.http.gui">HTTPArgumentsPanel</a></code>, <code><a href="../protocol/http/config/gui/HttpDefaultsGui.html" title="class in org.apache.jmeter.protocol.http.config.gui">HttpDefaultsGui</a></code>, <code><a href="../protocol/http/control/gui/HttpMirrorControlGui.html" title="class in org.apache.jmeter.protocol.http.control.gui">HttpMirrorControlGui</a></code>, <code><a href="../protocol/http/control/gui/HttpTestSampleGui.html" title="class in org.apache.jmeter.protocol.http.control.gui">HttpTestSampleGui</a></code>, <code><a href="../control/gui/IfControllerPanel.html" title="class in org.apache.jmeter.control.gui">IfControllerPanel</a></code>, <code><a href="../control/gui/IncludeControllerGui.html" title="class in org.apache.jmeter.control.gui">IncludeControllerGui</a></code>, <code><a href="../control/gui/InterleaveControlGui.html" title="class in org.apache.jmeter.control.gui">InterleaveControlGui</a></code>, <code><a href="../protocol/java/config/gui/JavaConfigGui.html" title="class in org.apache.jmeter.protocol.java.config.gui">JavaConfigGui</a></code>, <code><a href="../protocol/java/control/gui/JavaTestSamplerGui.html" title="class in org.apache.jmeter.protocol.java.control.gui">JavaTestSamplerGui</a></code>, <code><a href="../assertions/jmespath/gui/JMESPathAssertionGui.html" title="class in org.apache.jmeter.assertions.jmespath.gui">JMESPathAssertionGui</a></code>, <code><a href="../extractor/json/jmespath/gui/JMESPathExtractorGui.html" title="class in org.apache.jmeter.extractor.json.jmespath.gui">JMESPathExtractorGui</a></code>, <code><a href="../protocol/jms/control/gui/JMSPublisherGui.html" title="class in org.apache.jmeter.protocol.jms.control.gui">JMSPublisherGui</a></code>, <code><a href="../protocol/jms/control/gui/JMSSamplerGui.html" title="class in org.apache.jmeter.protocol.jms.control.gui">JMSSamplerGui</a></code>, <code><a href="../protocol/jms/control/gui/JMSSubscriberGui.html" title="class in org.apache.jmeter.protocol.jms.control.gui">JMSSubscriberGui</a></code>, <code><a href="../assertions/gui/JSONPathAssertionGui.html" title="class in org.apache.jmeter.assertions.gui">JSONPathAssertionGui</a></code>, <code><a href="../extractor/json/jsonpath/gui/JSONPostProcessorGui.html" title="class in org.apache.jmeter.extractor.json.jsonpath.gui">JSONPostProcessorGui</a></code>, <code><a href="../protocol/java/control/gui/JUnitTestSamplerGui.html" title="class in org.apache.jmeter.protocol.java.control.gui">JUnitTestSamplerGui</a></code>, <code><a href="../protocol/ldap/config/gui/LDAPArgumentsPanel.html" title="class in org.apache.jmeter.protocol.ldap.config.gui">LDAPArgumentsPanel</a></code>, <code><a href="../protocol/ldap/config/gui/LdapConfigGui.html" title="class in org.apache.jmeter.protocol.ldap.config.gui">LdapConfigGui</a></code>, <code><a href="../protocol/ldap/config/gui/LdapExtConfigGui.html" title="class in org.apache.jmeter.protocol.ldap.config.gui">LdapExtConfigGui</a></code>, <code><a href="../protocol/ldap/control/gui/LdapExtTestSamplerGui.html" title="class in org.apache.jmeter.protocol.ldap.control.gui">LdapExtTestSamplerGui</a></code>, <code><a href="../protocol/ldap/control/gui/LdapTestSamplerGui.html" title="class in org.apache.jmeter.protocol.ldap.control.gui">LdapTestSamplerGui</a></code>, <code><a href="../control/gui/LogicControllerGui.html" title="class in org.apache.jmeter.control.gui">LogicControllerGui</a></code>, <code><a href="../config/gui/LoginConfigGui.html" title="class in org.apache.jmeter.config.gui">LoginConfigGui</a></code>, <code><a href="../control/gui/LoopControlPanel.html" title="class in org.apache.jmeter.control.gui">LoopControlPanel</a></code>, <code><a href="../visualizers/MailerVisualizer.html" title="class in org.apache.jmeter.visualizers">MailerVisualizer</a></code>, <code><a href="../protocol/mail/sampler/gui/MailReaderSamplerGui.html" title="class in org.apache.jmeter.protocol.mail.sampler.gui">MailReaderSamplerGui</a></code>, <code><a href="../assertions/gui/MD5HexAssertionGUI.html" title="class in org.apache.jmeter.assertions.gui">MD5HexAssertionGUI</a></code>, <code><a href="../control/gui/ModuleControllerGui.html" title="class in org.apache.jmeter.control.gui">ModuleControllerGui</a></code>, <code><a href="NamePanel.html" title="class in org.apache.jmeter.gui">NamePanel</a></code>, <code><a href="../config/gui/ObsoleteGui.html" title="class in org.apache.jmeter.config.gui">ObsoleteGui</a></code>, <code><a href="../control/gui/OnceOnlyControllerGui.html" title="class in org.apache.jmeter.control.gui">OnceOnlyControllerGui</a></code>, <code><a href="../timers/gui/PoissonRandomTimerGui.html" title="class in org.apache.jmeter.timers.gui">PoissonRandomTimerGui</a></code>, <code><a href="../threads/gui/PostThreadGroupGui.html" title="class in org.apache.jmeter.threads.gui">PostThreadGroupGui</a></code>, <code><a href="../visualizers/PropertyControlGui.html" title="class in org.apache.jmeter.visualizers">PropertyControlGui</a></code>, <code><a href="../protocol/http/proxy/gui/ProxyControlGui.html" title="class in org.apache.jmeter.protocol.http.proxy.gui">ProxyControlGui</a></code>, <code><a href="../control/gui/RandomControlGui.html" title="class in org.apache.jmeter.control.gui">RandomControlGui</a></code>, <code><a href="../control/gui/RandomOrderControllerGui.html" title="class in org.apache.jmeter.control.gui">RandomOrderControllerGui</a></code>, <code><a href="../protocol/http/control/gui/RecordController.html" title="class in org.apache.jmeter.protocol.http.control.gui">RecordController</a></code>, <code><a href="../extractor/gui/RegexExtractorGui.html" title="class in org.apache.jmeter.extractor.gui">RegexExtractorGui</a></code>, <code><a href="../protocol/http/modifier/gui/RegExUserParametersGui.html" title="class in org.apache.jmeter.protocol.http.modifier.gui">RegExUserParametersGui</a></code>, <code><a href="../visualizers/RespTimeGraphVisualizer.html" title="class in org.apache.jmeter.visualizers">RespTimeGraphVisualizer</a></code>, <code><a href="../reporters/gui/ResultActionGui.html" title="class in org.apache.jmeter.reporters.gui">ResultActionGui</a></code>, <code><a href="../reporters/gui/ResultSaverGui.html" title="class in org.apache.jmeter.reporters.gui">ResultSaverGui</a></code>, <code><a href="../control/gui/RunTimeGui.html" title="class in org.apache.jmeter.control.gui">RunTimeGui</a></code>, <code><a href="../modifiers/gui/SampleTimeoutGui.html" title="class in org.apache.jmeter.modifiers.gui">SampleTimeoutGui</a></code>, <code><a href="../threads/gui/SetupThreadGroupGui.html" title="class in org.apache.jmeter.threads.gui">SetupThreadGroupGui</a></code>, <code><a href="../config/gui/SimpleConfigGui.html" title="class in org.apache.jmeter.config.gui">SimpleConfigGui</a></code>, <code><a href="../visualizers/SimpleDataWriter.html" title="class in org.apache.jmeter.visualizers">SimpleDataWriter</a></code>, <code><a href="../assertions/gui/SizeAssertionGui.html" title="class in org.apache.jmeter.assertions.gui">SizeAssertionGui</a></code>, <code><a href="../assertions/gui/SMIMEAssertionGui.html" title="class in org.apache.jmeter.assertions.gui">SMIMEAssertionGui</a></code>, <code><a href="../protocol/smtp/sampler/gui/SmtpSamplerGui.html" title="class in org.apache.jmeter.protocol.smtp.sampler.gui">SmtpSamplerGui</a></code>, <code><a href="../visualizers/StatGraphVisualizer.html" title="class in org.apache.jmeter.visualizers">StatGraphVisualizer</a></code>, <code><a href="menu/StaticJMeterGUIComponent.html" title="class in org.apache.jmeter.gui.menu">StaticJMeterGUIComponent</a></code>, <code><a href="../visualizers/StatVisualizer.html" title="class in org.apache.jmeter.visualizers">StatVisualizer</a></code>, <code><a href="../reporters/gui/SummariserGui.html" title="class in org.apache.jmeter.reporters.gui">SummariserGui</a></code>, <code><a href="../visualizers/SummaryReport.html" title="class in org.apache.jmeter.visualizers">SummaryReport</a></code>, <code><a href="../control/gui/SwitchControllerGui.html" title="class in org.apache.jmeter.control.gui">SwitchControllerGui</a></code>, <code><a href="../protocol/system/gui/SystemSamplerGui.html" title="class in org.apache.jmeter.protocol.system.gui">SystemSamplerGui</a></code>, <code><a href="../visualizers/TableVisualizer.html" title="class in org.apache.jmeter.visualizers">TableVisualizer</a></code>, <code><a href="../protocol/tcp/config/gui/TCPConfigGui.html" title="class in org.apache.jmeter.protocol.tcp.config.gui">TCPConfigGui</a></code>, <code><a href="../protocol/tcp/control/gui/TCPSamplerGui.html" title="class in org.apache.jmeter.protocol.tcp.control.gui">TCPSamplerGui</a></code>, <code><a href="../sampler/gui/TestActionGui.html" title="class in org.apache.jmeter.sampler.gui">TestActionGui</a></code>, <code><a href="../testbeans/gui/TestBeanGUI.html" title="class in org.apache.jmeter.testbeans.gui">TestBeanGUI</a></code>, <code><a href="../control/gui/TestFragmentControllerGui.html" title="class in org.apache.jmeter.control.gui">TestFragmentControllerGui</a></code>, <code><a href="../control/gui/TestPlanGui.html" title="class in org.apache.jmeter.control.gui">TestPlanGui</a></code>, <code><a href="../threads/gui/ThreadGroupGui.html" title="class in org.apache.jmeter.threads.gui">ThreadGroupGui</a></code>, <code><a href="../control/gui/ThroughputControllerGui.html" title="class in org.apache.jmeter.control.gui">ThroughputControllerGui</a></code>, <code><a href="../control/gui/TransactionControllerGui.html" title="class in org.apache.jmeter.control.gui">TransactionControllerGui</a></code>, <code><a href="../timers/gui/UniformRandomTimerGui.html" title="class in org.apache.jmeter.timers.gui">UniformRandomTimerGui</a></code>, <code><a href="../protocol/http/modifier/gui/URLRewritingModifierGui.html" title="class in org.apache.jmeter.protocol.http.modifier.gui">URLRewritingModifierGui</a></code>, <code><a href="../modifiers/gui/UserParametersGui.html" title="class in org.apache.jmeter.modifiers.gui">UserParametersGui</a></code>, <code><a href="../visualizers/ViewResultsFullVisualizer.html" title="class in org.apache.jmeter.visualizers">ViewResultsFullVisualizer</a></code>, <code><a href="../control/gui/WhileControllerGui.html" title="class in org.apache.jmeter.control.gui">WhileControllerGui</a></code>, <code><a href="../control/gui/WorkBenchGui.html" title="class in org.apache.jmeter.control.gui">WorkBenchGui</a></code>, <code><a href="../assertions/gui/XMLAssertionGui.html" title="class in org.apache.jmeter.assertions.gui">XMLAssertionGui</a></code>, <code><a href="../assertions/gui/XMLSchemaAssertionGUI.html" title="class in org.apache.jmeter.assertions.gui">XMLSchemaAssertionGUI</a></code>, <code><a href="../assertions/gui/XPath2AssertionGui.html" title="class in org.apache.jmeter.assertions.gui">XPath2AssertionGui</a></code>, <code><a href="../extractor/gui/XPath2ExtractorGui.html" title="class in org.apache.jmeter.extractor.gui">XPath2ExtractorGui</a></code>, <code><a href="../assertions/gui/XPathAssertionGui.html" title="class in org.apache.jmeter.assertions.gui">XPathAssertionGui</a></code>, <code><a href="../extractor/gui/XPathExtractorGui.html" title="class in org.apache.jmeter.extractor.gui">XPathExtractorGui</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">JMeterGUIComponent</span><span class="extends-implements">
extends <a href="ClearGui.html" title="interface in org.apache.jmeter.gui">ClearGui</a></span></div>
<div class="block">Implementing this interface indicates that the class is a JMeter GUI
 Component. A JMeter GUI Component is essentially the GUI display code
 associated with a JMeter Test Element. The writer of the component must take
 care to make the component be consistent with the rest of JMeter's GUI look
 and feel and behavior. Use of the provided abstract classes is highly
 recommended to make this task easier.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="AbstractJMeterGuiComponent.html" title="class in org.apache.jmeter.gui"><code>AbstractJMeterGuiComponent</code></a></li>
<li><a href="../config/gui/AbstractConfigGui.html" title="class in org.apache.jmeter.config.gui"><code>AbstractConfigGui</code></a></li>
<li><a href="../assertions/gui/AbstractAssertionGui.html" title="class in org.apache.jmeter.assertions.gui"><code>AbstractAssertionGui</code></a></li>
<li><a href="../control/gui/AbstractControllerGui.html" title="class in org.apache.jmeter.control.gui"><code>AbstractControllerGui</code></a></li>
<li><a href="../timers/gui/AbstractTimerGui.html" title="class in org.apache.jmeter.timers.gui"><code>AbstractTimerGui</code></a></li>
<li><a href="../visualizers/gui/AbstractVisualizer.html" title="class in org.apache.jmeter.visualizers.gui"><code>AbstractVisualizer</code></a></li>
<li><a href="../samplers/gui/AbstractSamplerGui.html" title="class in org.apache.jmeter.samplers.gui"><code>AbstractSamplerGui</code></a></li>
</ul>
</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#canBeAdded()" class="member-name-link">canBeAdded</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Returns whether a component of this type can be added to the test plan.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#configure(org.apache.jmeter.testelement.TestElement)" class="member-name-link">configure</a><wbr>(<a href="../testelement/TestElement.html" title="interface in org.apache.jmeter.testelement">TestElement</a>&nbsp;element)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">The GUI must be able to extract the data from the TestElement and update
 all GUI fields to represent those data.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/javax/swing/JPopupMenu.html" title="class or interface in javax.swing" class="external-link">JPopupMenu</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#createPopupMenu()" class="member-name-link">createPopupMenu</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">When a user right-clicks on the component in the test tree, or selects
 the edit menu when the component is selected, the component will be asked
 to return a JPopupMenu that provides all the options available to the
 user from this component.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../testelement/TestElement.html" title="interface in org.apache.jmeter.testelement">TestElement</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#createTestElement()" class="member-name-link">createTestElement</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">JMeter test components are separated into a model and a GUI
 representation.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getDocAnchor()" class="member-name-link">getDocAnchor</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Get the component's document anchor name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getLabelResource()" class="member-name-link">getLabelResource</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Get the component's resource name, which getStaticLabel uses to derive
 the component's label in the local language.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getMenuCategories()" class="member-name-link">getMenuCategories</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">This is the list of add menu categories this gui component will be
 available under.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getName()" class="member-name-link">getName</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the name of the JMeter GUI component.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getStaticLabel()" class="member-name-link">getStaticLabel</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Get the component's label.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isEnabled()" class="member-name-link">isEnabled</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Test GUI elements can be disabled, in which case they do not become part
 of the test when run.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#modifyTestElement(org.apache.jmeter.testelement.TestElement)" class="member-name-link">modifyTestElement</a><wbr>(<a href="../testelement/TestElement.html" title="interface in org.apache.jmeter.testelement">TestElement</a>&nbsp;element)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">GUI components are responsible for populating TestElements they create
 with the data currently held in the GUI components.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setEnabled(boolean)" class="member-name-link">setEnabled</a><wbr>(boolean&nbsp;enabled)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Set whether this component is enabled.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setName(java.lang.String)" class="member-name-link">setName</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Sets the name of the JMeter GUI Component.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.jmeter.gui.ClearGui">Methods inherited from interface&nbsp;org.apache.jmeter.gui.<a href="ClearGui.html" title="interface in org.apache.jmeter.gui">ClearGui</a></h3>
<code><a href="ClearGui.html#clearGui()">clearGui</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="setName(java.lang.String)">
<h3>setName</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setName</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block">Sets the name of the JMeter GUI Component. The name of the component is
 used in the Test Tree as the name of the tree node.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - the name of the component</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getName</span>()</div>
<div class="block">Gets the name of the JMeter GUI component. The name of the component is
 used in the Test Tree as the name of the tree node.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the name of the component</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getStaticLabel()">
<h3>getStaticLabel</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getStaticLabel</span>()</div>
<div class="block">Get the component's label. This label is used in drop down lists that
 give the user the option of choosing one type of component in a list of
 many. It should therefore be a descriptive name for the end user to see.
 It must be unique to the class.

 It is also used by Help to find the appropriate location in the
 documentation.

 Normally getLabelResource() should be overridden instead of
 this method; the definition of this method in AbstractJMeterGuiComponent
 is intended for general use.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>GUI label for the component.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="#getLabelResource()"><code>getLabelResource()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLabelResource()">
<h3>getLabelResource</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getLabelResource</span>()</div>
<div class="block">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.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the resource name</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDocAnchor()">
<h3>getDocAnchor</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getDocAnchor</span>()</div>
<div class="block">Get the component's document anchor name. Used by Help to find the
 appropriate location in the documentation</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Document anchor (#ref) for the component.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createTestElement()">
<h3>createTestElement</h3>
<div class="member-signature"><span class="return-type"><a href="../testelement/TestElement.html" title="interface in org.apache.jmeter.testelement">TestElement</a></span>&nbsp;<span class="element-name">createTestElement</span>()</div>
<div class="block">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.

 <p>
 The canonical implementation looks like this:
 <pre>
 public TestElement createTestElement() {
     TestElementXYZ el = new TestElementXYZ();
     modifyTestElement(el);
     return el;
 }
 </pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the Test Element object that the GUI component represents.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="modifyTestElement(org.apache.jmeter.testelement.TestElement)">
<h3>modifyTestElement</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">modifyTestElement</span><wbr><span class="parameters">(<a href="../testelement/TestElement.html" title="interface in org.apache.jmeter.testelement">TestElement</a>&nbsp;element)</span></div>
<div class="block">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.

 <p>
 The canonical implementation looks like this:
 <pre>
 public void modifyTestElement(TestElement element) {
     element.clear(); // many implementations use this
     configureTestElement(element);
     // Using the element setters (preferred):
     TestElementXYZ xyz = (TestElementXYZ) element;
     xyz.setState(guiState.getText());
     xyz.setCode(guiCode.getText());
     ... other GUI fields ...
     // or directly (do not use unless there is no setter for the field):
     element.setProperty(TestElementXYZ.STATE, guiState.getText())
     element.setProperty(TestElementXYZ.CODE, guiCode.getText())
     ... other GUI fields ...
 }
 </pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>element</code> - the TestElement to modify</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isEnabled()">
<h3>isEnabled</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isEnabled</span>()</div>
<div class="block">Test GUI elements can be disabled, in which case they do not become part
 of the test when run.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if the element should be part of the test run, false
         otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setEnabled(boolean)">
<h3>setEnabled</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setEnabled</span><wbr><span class="parameters">(boolean&nbsp;enabled)</span></div>
<div class="block">Set whether this component is enabled.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>enabled</code> - true for enabled, false for disabled.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createPopupMenu()">
<h3>createPopupMenu</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/javax/swing/JPopupMenu.html" title="class or interface in javax.swing" class="external-link">JPopupMenu</a></span>&nbsp;<span class="element-name">createPopupMenu</span>()</div>
<div class="block">When a user right-clicks on the component in the test tree, or selects
 the edit menu when the component is selected, the component will be asked
 to return a JPopupMenu that provides all the options available to the
 user from this component.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a JPopupMenu appropriate for the component.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="configure(org.apache.jmeter.testelement.TestElement)">
<h3>configure</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">configure</span><wbr><span class="parameters">(<a href="../testelement/TestElement.html" title="interface in org.apache.jmeter.testelement">TestElement</a>&nbsp;element)</span></div>
<div class="block">The GUI must be able to extract the data from the TestElement and update
 all GUI fields to represent those data. This method is called to allow
 JMeter to show the user the GUI that represents the test element's data.

 <p>
 The canonical implementation looks like this:
 <pre>
 public void configure(TestElement element) {
     super.configure(element);
     // Using the element getter (preferred):
     TestElementXYZ xyz = (TestElementXYZ) element;
     guiState.setText(xyz.getState());
     guiCode.setText(xyz.getCode());
     ... other GUI fields ...
     // or using the element property names directly (do not use unless there is no getter for the field)
     guiState.setText(element.getPropertyAsString(TestElementXYZ.STATE));
     guiCode.setText(element.getPropertyAsString(TestElementXYZ.CODE));
     ... other GUI fields ...
 }
 </pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>element</code> - the TestElement to configure</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getMenuCategories()">
<h3>getMenuCategories</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getMenuCategories</span>()</div>
<div class="block">This is the list of add menu categories this gui component will be
 available under. For instance, if this represents a Controller, then the
 MenuFactory.CONTROLLERS category should be in the returned collection.
 When a user right-clicks on a tree element and looks through the "add"
 menu, which category your GUI component shows up in is determined by
 which categories are returned by this method. Most GUI's belong to only
 one category, but it is possible for a component to exist in multiple
 categories.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a Collection of Strings, where each element is one of the
         constants defined in MenuFactory</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="util/MenuFactory.html" title="class in org.apache.jmeter.gui.util"><code>MenuFactory</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="canBeAdded()">
<h3>canBeAdded</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">canBeAdded</span>()</div>
<div class="block">Returns whether a component of this type can be added to the test plan.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if the component can be added, false otherwise.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright © 1998-2022 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>
