---
title: Component Extensions
order: 6
layout: page
---

[[components.extensions]]
= Component Extensions

Components and UIs can have extensions which are attached to the component
dynamically. Especially, many add-ons are extensions.

How a component is extended depends on the extension. Typically, they have an
[methodname]#extend()# method that takes the component to be extended as the
parameter.


[source, java]
----
TextField tf = new TextField("Hello");
layout.addComponent(tf);

// Add a simple extension
new CapsLockWarning().extend(tf);

// Add an extension that requires some parameters
CSValidator validator = new CSValidator();
validator.setRegExp("[0-9]*");
validator.setErrorMessage("Must be a number");
validator.extend(tf);
----

Development of custom extensions is described in
<<dummy/../../../framework/gwt/gwt-extension#gwt.extension,"Component and UI
Extensions">>.