# Class GUIFactory

java.lang.Object
org.apache.jmeter.gui.GUIFactory

public final class GUIFactory extends Object
Provides a way to register and retrieve GUI classes and icons.

## Method Summary

Modifier and Type
Method
Description
`static JComponent`
`getGUI(Class<?> elementClass)`
Get a component instance which has previously been registered for this class object.
`static ImageIcon`
`getIcon(Class<?> elementClass)`
Get an icon which has previously been registered for this class object.
`static ImageIcon`
`getIcon(Class<?> elementClass, boolean enabled)`
Get icon/disabledicon which has previously been registered for this class object.
`static void`
`registerDisabledIcon(String key, ImageIcon icon)`
Register an icon so that it can later be retrieved via `getIcon(Class)`.
`static void`
`registerGUI(String key, Class<?> guiClass, Class<?> testClass)`
Register a GUI class so that it can later be retrieved via `getGUI(Class)`.
`static void`
`registerIcon(String key, ImageIcon icon)`
Register an icon so that it can later be retrieved via `getIcon(Class)`.

### Methods inherited from class Object

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

## Method Details

### getIcon

public static ImageIcon getIcon(Class<?> elementClass)
Get an icon which has previously been registered for this class object.

Parameters:
  `elementClass` - the class object which we want to get an icon for
Returns:
  the associated icon, or null if this class or its superclass has not been registered

### getIcon

public static ImageIcon getIcon(Class<?> elementClass, boolean enabled)
Get icon/disabledicon which has previously been registered for this class object.

Parameters:
  `elementClass` - the class object which we want to get an icon for
  `enabled` - - is icon enabled
Returns:
  the associated icon, or null if this class or its superclass has not been registered

### getGUI

public static JComponent getGUI(Class<?> elementClass)
Get a component instance which has previously been registered for this class object.

Parameters:
  `elementClass` - the class object which we want to get an instance of
Returns:
  an instance of the class, or null if this class or its superclass has not been registered

### registerIcon

public static void registerIcon(String key, ImageIcon icon)
Register an icon so that it can later be retrieved via `getIcon(Class)`. The key should match the fully-qualified class name for the class used as the parameter when retrieving the icon.

Parameters:
  `key` - the name which can be used to retrieve this icon later
  `icon` - the icon to store

### registerDisabledIcon

public static void registerDisabledIcon(String key, ImageIcon icon)
Register an icon so that it can later be retrieved via `getIcon(Class)`. The key should match the fully-qualified class name for the class used as the parameter when retrieving the icon.

Parameters:
  `key` - the name which can be used to retrieve this icon later
  `icon` - the icon to store

### registerGUI

public static void registerGUI(String key, Class<?> guiClass, Class<?> testClass) throws InstantiationException, IllegalAccessException
Register a GUI class so that it can later be retrieved via `getGUI(Class)`. The key should match the fully-qualified class name for the class used as the parameter when retrieving the GUI.

Parameters:
  `key` - the name which can be used to retrieve this GUI later
  `guiClass` - the class object for the GUI component
  `testClass` - the class of the objects edited by this GUI
Throws:
  `InstantiationException` - if an instance of the GUI class can not be instantiated
  `IllegalAccessException` - if access rights do not permit an instance of the GUI class to be created