Understanding Layout
Panels in GWT are much like their counterparts in other user interface
libraries. The main difference lies in the fact that they use HTML
elements such as DIV and TABLE to layout their child widgets.
RootPanel
The first panel you're likely to encounter is the
RootPanel. This panel is always at
the top of the containment hierarchy. The default RootPanel wraps the
HTML document's body, and is obtained by calling
RootPanel.get(). If you need to
get a root panel wrapping another element in the HTML document, you can
do so using
RootPanel.get(String).
CellPanel
CellPanel is the abstract base
class for
DockPanel,
HorizontalPanel, and
VerticalPanel. What these panels
all have in common is that they position their child widgets within
logical "cells". Thus, a child widget can be aligned within the cell that
contains it, using
setCellHorizontalAlignment()
and
setCellVerticalAlignment().
CellPanels also allow you to set the size of the cells themselves
(relative to the panel as a whole) using
CellPanel.setCellWidth and
CellPanel.setCellHeight.
Other Panels
Other panels include
DeckPanel,
TabPanel,
FlowPanel,
HTMLPanel, and
StackPanel.
Sizes and Measures
It is possible to set the size of a widget explicitly using
setWidth(),
setHeight(),
and
setSize().
The arguments to these methods are strings, rather than integers, because
they accept any valid CSS measurements, such as pixels (128px),
centimeters (3cm), and percentage (100%).