summaryrefslogtreecommitdiffstats
path: root/documentation/components/components-extensions.asciidoc
blob: 916dc720eb9aaeb22cff46d3e4d2bae96c2b7b91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
---
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
<<../gwt/gwt-extension#gwt.extension,"Component and UI
Extensions">>.