# Package `com.install4j.api.formcomponents`

This package contains the interface and abstract base class for form components.

See the [API overview](../../api.md) for general remarks on
how to use the install4j API.

The [`FormComponent`](FormComponent.md) interface contains all methods that have to be implemented by an actual form component.
Form components can access other form components on the same screen via the [`FormEnvironment`](FormEnvironment.md) interface.

When you develop your own form components, it is recommended that you extend the abstract base class in this package
rather than implement the interface itself.

## Types

| Type | Kind | Description |
|---|---|---|
| [AbstractFormComponent](AbstractFormComponent.md) | class | Abstract base class for form components. |
| [ComponentTuple](ComponentTuple.md) | interface | Represents the created GUI components for a form component. |
| [FormComponent](FormComponent.md) | interface | All form components must implement this interface. |
| [FormEnvironment](FormEnvironment.md) | interface | The form environment gives access to form components in a form panel as well as to other design time or runtime services related to form components. |
| [GroupType](GroupType.md) | enum | Type of a layout group. |
| [LayoutGroup](LayoutGroup.md) | interface | Represents a layout group for form components. |
| [WidgetStyleHandler](WidgetStyleHandler.md) | interface | With the widget style handler, you can apply a widget style to certain Swing components. |

