{@code Component} is the top-level interface that is and must be implementedby all Vaadin components. {@code Component} is paired with{@link AbstractComponent}, which provides a default implementation for all the methods defined in this interface.
Components are laid out in the user interface hierarchically. The layout is managed by layout components, or more generally by components that implement the {@link ComponentContainer} interface. Such a container is theparent of the contained components.
The {@link #getParent()} method allows retrieving the parent component of acomponent. While there is a {@link #setParent(Component) setParent()}, you rarely need it as you normally add components with the {@link ComponentContainer#addComponent(Component) addComponent()} method ofthe layout or other {@code ComponentContainer}, which automatically sets the parent.
A component becomes attached to an application (and the {@link #attach()} is called) when it or one of its parents is attached to themain window of the application through its containment hierarchy.
@author IT Mill Ltd.
@version 6.7.1
@since 3.0