Package com.google.gwt.user.client.ui

## Interface HasWidgets

- All Superinterfaces:
    `java.lang.Iterable<Widget>`
  All Known Subinterfaces:
    `HasWidgets.ForIsWidget`
  All Known Implementing Classes:
    `AbsolutePanel`, `CaptionPanel`, `CellGridImpl`, `CellPanel`, `ComplexPanel`, `CustomScrollPanel`, `DeckLayoutPanel`, `DeckPanel`, `DecoratedPopupPanel`, `DecoratedStackPanel`, `DecoratedTabPanel`, `DecoratorPanel`, `DefaultCalendarView.CellGrid`, `DialogBox`, `DisclosurePanel`, `DockLayoutPanel`, `DockPanel`, `FlexTable`, `FlowPanel`, `FocusPanel`, `FormPanel`, `Grid`, `HeaderPanel`, `HorizontalPanel`, `HorizontalSplitPanel`, `HTMLPanel`, `HTMLTable`, `LayoutPanel`, `LazyPanel`, `LoggingPopup`, `Panel`, `PopupPanel`, `RenderablePanel`, `ResizeLayoutPanel`, `RootLayoutPanel`, `RootPanel`, `ScrollPanel`, `SimpleLayoutPanel`, `SimplePanel`, `SplitLayoutPanel`, `SplitPanel`, `StackLayoutPanel`, `StackPanel`, `TabLayoutPanel`, `TabPanel`, `Tree`, `VerticalPanel`, `VerticalSplitPanel`

      public interface HasWidgets
      extends java.lang.Iterable<Widget>

  A widget that implements this interface contains `widgets` and can enumerate them.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static interface` | `HasWidgets.ForIsWidget` | Extends this interface with convenience methods to handle `IsWidget`.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `add​(Widget w)` | Adds a child widget.
    `void` | `clear()` | Removes all child widgets.
    `java.util.Iterator<Widget>` | `iterator()` | Gets an iterator for the contained widgets.
    `boolean` | `remove​(Widget w)` | Removes a child widget.

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Method Detail

    - #### add

          void add​(Widget w)

      Adds a child widget.
      Parameters:
        `w` - the widget to be added
      Throws:
        `java.lang.UnsupportedOperationException` - if this method is not supported (most often this means that a specific overload must be called)

    - #### clear

          void clear()

      Removes all child widgets.

    - #### iterator

          java.util.Iterator<Widget> iterator()

      Gets an iterator for the contained widgets. This iterator is required to implement `Iterator.remove()`.
      Specified by:
        `iterator` in interface `java.lang.Iterable<Widget>`

    - #### remove

          boolean remove​(Widget w)

      Removes a child widget.
      Parameters:
        `w` - the widget to be removed
      Returns:
        `true` if the widget was present