Documentation versions (currently viewingVaadin 8)

Vaadin 8 reached End of Life on February 21, 2022. Discover how to make your Vaadin 8 app futureproof →


Vaadin provides a comprehensive set of user interface components and allows you to define custom components.

The component hierarchy of Vaadin is presented in the next four diagrams:

Interfaces are displayed with a dotted outline, abstract classes in gray, and regular classes in blue.

component class hierarchy
Basic Components
field class hierarchy
Field Components
selects class hierarchy
Selection Components
component container class hierarchy
Layouts and Component Containers

The Component is interface implemented by all components. In practice, all components extend the AbstractComponent abstract class.

There are three more specific types of components.

Field Components

allow user to edit a value in the UI. All extend AbstractField. Field components are described in detail in "Field Components".

Selection Component

show a list of data that the user can select from. All extend AbstractListing. Selection components are described in detail in "Selection Components".

Layouts and Component Containers

Components that can contain other components. All layouts and containers implement the HasComponents interface. Layout components are described in detail in "Managing Layout".

You can browse the built-in UI components of Vaadin library in the Sampler application of the Vaadin Demo. The Sampler shows a description, JavaDoc documentation, and a code samples for each of the components.

In addition to the built-in components, many components are available as add-ons, either from the Vaadin Directory or from independent sources. Both commercial and free components exist. The installation of add-ons is described in "Using Vaadin Add-ons".