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:
com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.HasWidgets, com.google.gwt.user.client.ui.HasWidgets.ForIsWidget, com.google.gwt.user.client.ui.IndexedPanel, com.google.gwt.user.client.ui.IndexedPanel.ForIsWidget, com.google.gwt.user.client.ui.InsertPanel, com.google.gwt.user.client.ui.InsertPanel.ForIsWidget, com.google.gwt.user.client.ui.IsWidget, Iterable<com.google.gwt.user.client.ui.Widget>

public class RootPanel extends com.google.gwt.user.client.ui.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.

  • Nested Class Summary

    Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

    com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled

    Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.HasWidgets

    com.google.gwt.user.client.ui.HasWidgets.ForIsWidget

    Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.IndexedPanel

    com.google.gwt.user.client.ui.IndexedPanel.ForIsWidget

    Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.InsertPanel

    com.google.gwt.user.client.ui.InsertPanel.ForIsWidget
  • Field Summary

    Fields inherited from class com.google.gwt.user.client.ui.UIObject

    DEBUG_ID_PREFIX
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    clear(boolean clearDom)
    Deprecated.
    Simply removing all DOM elements can cause issues with other elements in the page.
    static void
    detachNow(com.google.gwt.user.client.ui.Widget widget)
    Marks a widget as detached and removes it from the detach list.
    static void
    detachOnWindowClose(com.google.gwt.user.client.ui.Widget widget)
    Adds a widget to the detach list.
    static RootPanel
    get()
    Gets the default root panel.
    static RootPanel
    get(String id)
    Gets the root panel associated with a given browser element.
    static com.google.gwt.user.client.Element
    Convenience method for getting the document's body element.
    static RootPanel
    getForElement(com.google.gwt.dom.client.Element elem)
     
    static boolean
    isInDetachList(com.google.gwt.user.client.ui.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, add, adjustIndex, checkIndexBoundsForAccess, checkIndexBoundsForInsertion, getChildren, getWidget, getWidgetCount, getWidgetIndex, getWidgetIndex, insert, insert, iterator, remove

    Methods inherited from class com.google.gwt.user.client.ui.Panel

    add, adopt, clear, doAttachChildren, doDetachChildren, orphan, 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, unsinkEvents

    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.google.gwt.user.client.ui.IndexedPanel

    getWidget, getWidgetCount, getWidgetIndex, remove

    Methods inherited from interface com.google.gwt.user.client.ui.IndexedPanel.ForIsWidget

    getWidgetIndex

    Methods inherited from interface com.google.gwt.user.client.ui.InsertPanel.ForIsWidget

    add

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Method Details

    • detachNow

      public static void detachNow(com.google.gwt.user.client.ui.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

      public static void detachOnWindowClose(com.google.gwt.user.client.ui.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:
    • 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(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
    • getForElement

      public static RootPanel getForElement(com.google.gwt.dom.client.Element elem)
    • getBodyElement

      public static com.google.gwt.user.client.Element getBodyElement()
      Convenience method for getting the document's body element.
      Returns:
      the document's body element
    • isInDetachList

      public static boolean isInDetachList(com.google.gwt.user.client.ui.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
    • clear

      @Deprecated public void clear(boolean clearDom)
      Deprecated.
      Simply removing all DOM elements can cause issues with other elements in the page.
      Clears the rootPanel. If clearDom is true, then also remove any DOM elements that are not widgets.

      By default Panel.clear() will only remove children that are GWT widgets. This method also provides the option to remove all children including the non-widget DOM elements that are directly added (e.g. elements added via getElement().appendChild(...).

      Parameters:
      clearDom - if true this method will also remove any DOM elements that are not widgets.