Table of Contents
Provides interfaces and classes in the IT Mill Toolkit.
Interface hierarchy
The general interface hierarchy looks like this:

Note that the above picture includes only the main interfaces. This package includes several other lesser subinterfaces which are not significant in this scope. The interfaces not appearing here are documented with the classes that define them.
The {@link com.itmill.toolkit.ui.Button} for
example won't need to implement the lower level interfaces described
below. Note that the classes and interfaces required by the component event
framework are defined in
com.itmill.toolkit.ui.Component
.
The next level in the component hierarchy are the classes implementing
the
com.itmill.toolkit.ui.ComponentContainer
interface. It adds the
capacity to contain other components to
com.itmill.toolkit.ui.Component
with a simple API.
The third and last level is the
com.itmill.toolkit.ui.Layout
,
which adds the concept of location to the components contained in a
com.itmill.toolkit.ui.ComponentContainer
. It can be used to create
containers whose contents can be positioned arbitrarily.
Component class hierarchy
The actual component classes form a hierarchy like this:

Underlined classes are abstract.
At the top level is
com.itmill.toolkit.ui.AbstractComponent
which implements the
com.itmill.toolkit.ui.Component
interface. As
the name suggests it is abstract, but it does include a default
implementation for all methods defined in
Component
so that
a component is free to override only those functionalities it needs.
As seen in the picture,
AbstractComponent
serves as the
superclass for several "real" components, but it also has a some abstract
extensions.
com.itmill.toolkit.ui.AbstractComponentContainer
serves
as the root class for all components (for example, panels and windows) who
can contain other components.
com.itmill.toolkit.ui.AbstractField
,
on the other hand, implements several interfaces to provide a base class for
components that are used for data display and manipulation.
<!-- Put @see and @since tags down here. -->