com.google.gwt.user.client.ui
Class RootPanel
java.lang.Object
com.google.gwt.user.client.ui.UIObject
com.google.gwt.user.client.ui.Widget
com.google.gwt.user.client.ui.Panel
com.google.gwt.user.client.ui.ComplexPanel
com.google.gwt.user.client.ui.AbsolutePanel
com.google.gwt.user.client.ui.RootPanel
- All Implemented Interfaces:
- HasAttachHandlers, HasHandlers, EventListener, HasVisibility, HasWidgets, HasWidgets.ForIsWidget, IndexedPanel, IndexedPanel.ForIsWidget, InsertPanel, InsertPanel.ForIsWidget, IsWidget, java.lang.Iterable<Widget>
public class RootPanel
- extends AbsolutePanel
The panel to which all other widgets must ultimately be added. RootPanels are
never created directly. Rather, they are accessed via get()
.
Most applications will add widgets to the default root panel in their
EntryPoint.onModuleLoad()
methods.
Method Summary |
static void |
detachNow(Widget widget)
Marks a widget as detached and removes it from the detach list. |
static void |
detachOnWindowClose(Widget widget)
Adds a widget to the detach list. |
static RootPanel |
get()
Gets the default root panel. |
static RootPanel |
get(java.lang.String id)
Gets the root panel associated with a given browser element. |
static Element |
getBodyElement()
Convenience method for getting the document's body element. |
static boolean |
isInDetachList(Widget widget)
Determines whether the given widget is in the detach list. |
Methods inherited from class com.google.gwt.user.client.ui.AbsolutePanel |
add, add, add, getWidgetLeft, getWidgetTop, insert, insert, insert, remove, setWidgetPosition, setWidgetPositionImpl |
Methods inherited from class com.google.gwt.user.client.ui.ComplexPanel |
add, adjustIndex, checkIndexBoundsForAccess, checkIndexBoundsForInsertion, getChildren, getWidget, getWidgetCount, getWidgetIndex, getWidgetIndex, insert, insert, iterator, remove |
Methods inherited from class com.google.gwt.user.client.ui.Widget |
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, fireEvent, getHandlerCount, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onBrowserEvent, onDetach, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents |
Methods inherited from class com.google.gwt.user.client.ui.UIObject |
addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString, unsinkEvents |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
detachNow
public static void detachNow(Widget widget)
- Marks a widget as detached and removes it from the detach list.
If an element belonging to a widget originally passed to
detachOnWindowClose(Widget)
has been removed from the document,
calling this method will cause it to be marked as detached immediately.
Failure to do so will keep the widget from being garbage collected until
the page is unloaded.
This method may only be called per widget, and only for widgets that were
originally passed to detachOnWindowClose(Widget)
.
- Parameters:
widget
- the widget that no longer needs to be cleaned up when the
page closes- See Also:
detachOnWindowClose(Widget)
detachOnWindowClose
public static void detachOnWindowClose(Widget widget)
- Adds a widget to the detach list. This is the list of widgets to be
detached when the page unloads.
This method must be called for all widgets that have no parent widgets.
These are most commonly RootPanels
, but can also be any
widget used to wrap an existing element on the page. Failing to do this may
cause these widgets to leak memory. This method is called automatically by
widgets' wrap methods (e.g.
Button.wrap(com.google.gwt.dom.client.Element)
).
This method may not be called on any widget whose element is
contained in another widget. This is to ensure that the DOM and Widget
hierarchies cannot get into an inconsistent state.
- Parameters:
widget
- the widget to be cleaned up when the page closes- See Also:
detachNow(Widget)
get
public static RootPanel get()
- Gets the default root panel. This panel wraps the body of the browser's
document. This root panel can contain any number of widgets, which will be
laid out in their natural HTML ordering. Many applications, however, will
add a single panel to the RootPanel to provide more structure.
- Returns:
- the default RootPanel
get
public static RootPanel get(java.lang.String id)
- Gets the root panel associated with a given browser element. For this to
work, the HTML document into which the application is loaded must have
specified an element with the given id.
- Parameters:
id
- the id of the element to be wrapped with a root panel (
null
specifies the default instance, which wraps the
<body> element)
- Returns:
- the root panel, or
null
if no such element was found
getBodyElement
public static Element getBodyElement()
- Convenience method for getting the document's body element.
- Returns:
- the document's body element
isInDetachList
public static boolean isInDetachList(Widget widget)
- Determines whether the given widget is in the detach list.
- Parameters:
widget
- the widget to be checked
- Returns:
true
if the widget is in the detach list