GWT 2.7.0

com.google.gwt.user.client.ui
Class TabPanel

java.lang.Object
  extended by com.google.gwt.user.client.ui.UIObject
      extended by com.google.gwt.user.client.ui.Widget
          extended by com.google.gwt.user.client.ui.Composite
              extended by com.google.gwt.user.client.ui.TabPanel
All Implemented Interfaces:
HasAttachHandlers, HasBeforeSelectionHandlers<java.lang.Integer>, HasSelectionHandlers<java.lang.Integer>, HasHandlers, EventListener, HasAnimation, HasVisibility, HasWidgets, IndexedPanel, IndexedPanel.ForIsWidget, IsRenderable, IsWidget, SourcesTabEvents, TabListener, java.lang.Iterable<Widget>
Direct Known Subclasses:
DecoratedTabPanel

public class TabPanel
extends Composite
implements TabListener, SourcesTabEvents, HasWidgets, HasAnimation, IndexedPanel.ForIsWidget, HasBeforeSelectionHandlers<java.lang.Integer>, HasSelectionHandlers<java.lang.Integer>

A panel that represents a tabbed set of pages, each of which contains another widget. Its child widgets are shown as the user selects the various tabs associated with them. The tabs can contain arbitrary HTML.

This widget will only work in quirks mode. If your application is in Standards Mode, use TabLayoutPanel instead.

Note that this widget is not a panel per se, but rather a Composite that aggregates a TabBar and a DeckPanel. It does, however, implement HasWidgets.

CSS Style Rules

Example

public class TabPanelExample implements EntryPoint {

  public void onModuleLoad() {
    // Create a tab panel with three tabs, each of which displays a different
    // piece of text.
    TabPanel tp = new TabPanel();
    tp.add(new HTML("Foo"), "foo");
    tp.add(new HTML("Bar"), "bar");
    tp.add(new HTML("Baz"), "baz");

    // Show the 'bar' tab initially.
    tp.selectTab(1);

    // Add it to the root panel.
    RootPanel.get().add(tp);
  }
}

See Also:
TabLayoutPanel

Nested Class Summary
 
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled
 
Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.HasWidgets
HasWidgets.ForIsWidget
 
Field Summary
 
Fields inherited from class com.google.gwt.user.client.ui.Widget
eventsToSink
 
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX, MISSING_ELEMENT_ERROR, SETELEMENT_TWICE_ERROR
 
Constructor Summary
TabPanel()
          Creates an empty tab panel.
 
Method Summary
 void add(IsWidget w, IsWidget tabWidget)
          Convenience overload to allow IsWidget to be used directly.
 void add(IsWidget w, java.lang.String tabText)
          Convenience overload to allow IsWidget to be used directly.
 void add(IsWidget w, java.lang.String tabText, boolean asHTML)
          Convenience overload to allow IsWidget to be used directly.
 void add(Widget w)
          Adds a child widget.
 void add(Widget w, java.lang.String tabText)
          Adds a widget to the tab panel.
 void add(Widget w, java.lang.String tabText, boolean asHTML)
          Adds a widget to the tab panel.
 void add(Widget w, Widget tabWidget)
          Adds a widget to the tab panel.
 HandlerRegistration addBeforeSelectionHandler(BeforeSelectionHandler<java.lang.Integer> handler)
          Adds a BeforeSelectionEvent handler.
 HandlerRegistration addSelectionHandler(SelectionHandler<java.lang.Integer> handler)
          Adds a SelectionEvent handler.
 void addTabListener(TabListener listener)
          Deprecated. Use addBeforeSelectionHandler(com.google.gwt.event.logical.shared.BeforeSelectionHandler) and addSelectionHandler(com.google.gwt.event.logical.shared.SelectionHandler) instead
 void clear()
          Removes all child widgets.
protected  SimplePanel createTabTextWrapper()
          Create a SimplePanel that will wrap the contents in a tab.
 DeckPanel getDeckPanel()
          Gets the deck panel within this tab panel.
 TabBar getTabBar()
          Gets the tab bar within this tab panel.
 Widget getWidget(int index)
          Gets the child widget at the specified index.
 int getWidgetCount()
          Gets the number of child widgets in this panel.
 int getWidgetIndex(IsWidget child)
          Convenience overload to allow IsWidget to be used directly.
 int getWidgetIndex(Widget widget)
          Gets the index of the specified child widget.
 void insert(IsWidget widget, IsWidget tabWidget, int beforeIndex)
          Convenience overload to allow IsWidget to be used directly.
 void insert(IsWidget widget, java.lang.String tabText, boolean asHTML, int beforeIndex)
          Convenience overload to allow IsWidget to be used directly.
 void insert(IsWidget widget, java.lang.String tabText, int beforeIndex)
          Convenience overload to allow IsWidget to be used directly.
 void insert(Widget widget, java.lang.String tabText, boolean asHTML, int beforeIndex)
          Inserts a widget into the tab panel.
 void insert(Widget widget, java.lang.String tabText, int beforeIndex)
          Inserts a widget into the tab panel.
 void insert(Widget widget, Widget tabWidget, int beforeIndex)
          Inserts a widget into the tab panel.
 boolean isAnimationEnabled()
          Returns true if animations are enabled, false if not.
 java.util.Iterator<Widget> iterator()
          Gets an iterator for the contained widgets.
 boolean onBeforeTabSelected(SourcesTabEvents sender, int tabIndex)
          Deprecated. Use BeforeSelectionHandler.onBeforeSelection(com.google.gwt.event.logical.shared.BeforeSelectionEvent) instead
protected  void onEnsureDebugId(java.lang.String baseID)
          Affected Elements: -bar = The tab bar. -bar-tab# = The element containing the content of the tab itself. -bar-tab-wrapper# = The cell containing the tab at the index. -bottom = The panel beneath the tab bar.
 void onTabSelected(SourcesTabEvents sender, int tabIndex)
          Deprecated. Use SelectionHandler.onSelection(com.google.gwt.event.logical.shared.SelectionEvent) instead
 boolean remove(int index)
          Removes the widget at the specified index.
 boolean remove(Widget widget)
          Removes the given widget, and its associated tab.
 void removeTabListener(TabListener listener)
          Deprecated. Use the HandlerRegistration.removeHandler() method on the object returned by and add*Handler method instead
 void selectTab(int index)
          Programmatically selects the specified tab and fires events.
 void selectTab(int index, boolean fireEvents)
          Programmatically selects the specified tab.
 void setAnimationEnabled(boolean enable)
          Enable or disable animations.
 
Methods inherited from class com.google.gwt.user.client.ui.Composite
claimElement, getWidget, initializeClaimedElement, initWidget, isAttached, onAttach, onBrowserEvent, onDetach, render, render, resolvePotentialElement, setWidget
 
Methods inherited from class com.google.gwt.user.client.ui.Widget
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, ensureHandlers, fireEvent, getHandlerCount, getHandlerManager, getLayoutData, getParent, isOrWasAttached, onLoad, onUnload, removeFromParent, replaceElement, setLayoutData, setParent, 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, removeStyleDependentName, removeStyleName, 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.event.shared.HasHandlers
fireEvent
 

Constructor Detail

TabPanel

public TabPanel()
Creates an empty tab panel.

Method Detail

add

public void add(IsWidget w,
                IsWidget tabWidget)
Convenience overload to allow IsWidget to be used directly.


add

public void add(IsWidget w,
                java.lang.String tabText)
Convenience overload to allow IsWidget to be used directly.


add

public void add(IsWidget w,
                java.lang.String tabText,
                boolean asHTML)
Convenience overload to allow IsWidget to be used directly.


add

public void add(Widget w)
Description copied from interface: HasWidgets
Adds a child widget.

Specified by:
add in interface HasWidgets
Parameters:
w - the widget to be added

add

public void add(Widget w,
                java.lang.String tabText)
Adds a widget to the tab panel. If the Widget is already attached to the TabPanel, it will be moved to the right-most index.

Parameters:
w - the widget to be added
tabText - the text to be shown on its tab

add

public void add(Widget w,
                java.lang.String tabText,
                boolean asHTML)
Adds a widget to the tab panel. If the Widget is already attached to the TabPanel, it will be moved to the right-most index.

Parameters:
w - the widget to be added
tabText - the text to be shown on its tab
asHTML - true to treat the specified text as HTML

add

public void add(Widget w,
                Widget tabWidget)
Adds a widget to the tab panel. If the Widget is already attached to the TabPanel, it will be moved to the right-most index.

Parameters:
w - the widget to be added
tabWidget - the widget to be shown in the tab

addBeforeSelectionHandler

public HandlerRegistration addBeforeSelectionHandler(BeforeSelectionHandler<java.lang.Integer> handler)
Description copied from interface: HasBeforeSelectionHandlers
Adds a BeforeSelectionEvent handler.

Specified by:
addBeforeSelectionHandler in interface HasBeforeSelectionHandlers<java.lang.Integer>
Parameters:
handler - the handler
Returns:
the registration for the event

addSelectionHandler

public HandlerRegistration addSelectionHandler(SelectionHandler<java.lang.Integer> handler)
Description copied from interface: HasSelectionHandlers
Adds a SelectionEvent handler.

Specified by:
addSelectionHandler in interface HasSelectionHandlers<java.lang.Integer>
Parameters:
handler - the handler
Returns:
the registration for the event

addTabListener

@Deprecated
public void addTabListener(TabListener listener)
Deprecated. Use addBeforeSelectionHandler(com.google.gwt.event.logical.shared.BeforeSelectionHandler) and addSelectionHandler(com.google.gwt.event.logical.shared.SelectionHandler) instead

Description copied from interface: SourcesTabEvents
Adds a listener interface to receive click events.

Specified by:
addTabListener in interface SourcesTabEvents
Parameters:
listener - the listener interface to add

clear

public void clear()
Description copied from interface: HasWidgets
Removes all child widgets.

Specified by:
clear in interface HasWidgets

getDeckPanel

public DeckPanel getDeckPanel()
Gets the deck panel within this tab panel. Adding or removing Widgets from the DeckPanel is not supported and will throw UnsupportedOperationExceptions.

Returns:
the deck panel

getTabBar

public TabBar getTabBar()
Gets the tab bar within this tab panel. Adding or removing tabs from from the TabBar is not supported and will throw UnsupportedOperationExceptions.

Returns:
the tab bar

getWidget

public Widget getWidget(int index)
Description copied from interface: IndexedPanel
Gets the child widget at the specified index.

Specified by:
getWidget in interface IndexedPanel
Parameters:
index - the child widget's index
Returns:
the child widget

getWidgetCount

public int getWidgetCount()
Description copied from interface: IndexedPanel
Gets the number of child widgets in this panel.

Specified by:
getWidgetCount in interface IndexedPanel
Returns:
the number of children

getWidgetIndex

public int getWidgetIndex(IsWidget child)
Convenience overload to allow IsWidget to be used directly.

Specified by:
getWidgetIndex in interface IndexedPanel.ForIsWidget

getWidgetIndex

public int getWidgetIndex(Widget widget)
Description copied from interface: IndexedPanel
Gets the index of the specified child widget.

Specified by:
getWidgetIndex in interface IndexedPanel
Parameters:
widget - the widget to be found
Returns:
the widget's index, or -1 if it is not a child of this panel

insert

public void insert(IsWidget widget,
                   IsWidget tabWidget,
                   int beforeIndex)
Convenience overload to allow IsWidget to be used directly.


insert

public void insert(IsWidget widget,
                   java.lang.String tabText,
                   boolean asHTML,
                   int beforeIndex)
Convenience overload to allow IsWidget to be used directly.


insert

public void insert(IsWidget widget,
                   java.lang.String tabText,
                   int beforeIndex)
Convenience overload to allow IsWidget to be used directly.


insert

public void insert(Widget widget,
                   java.lang.String tabText,
                   boolean asHTML,
                   int beforeIndex)
Inserts a widget into the tab panel. If the Widget is already attached to the TabPanel, it will be moved to the requested index.

Parameters:
widget - the widget to be inserted
tabText - the text to be shown on its tab
asHTML - true to treat the specified text as HTML
beforeIndex - the index before which it will be inserted

insert

public void insert(Widget widget,
                   java.lang.String tabText,
                   int beforeIndex)
Inserts a widget into the tab panel. If the Widget is already attached to the TabPanel, it will be moved to the requested index.

Parameters:
widget - the widget to be inserted
tabText - the text to be shown on its tab
beforeIndex - the index before which it will be inserted

insert

public void insert(Widget widget,
                   Widget tabWidget,
                   int beforeIndex)
Inserts a widget into the tab panel. If the Widget is already attached to the TabPanel, it will be moved to the requested index.

Parameters:
widget - the widget to be inserted.
tabWidget - the widget to be shown on its tab.
beforeIndex - the index before which it will be inserted.

isAnimationEnabled

public boolean isAnimationEnabled()
Description copied from interface: HasAnimation
Returns true if animations are enabled, false if not.

Specified by:
isAnimationEnabled in interface HasAnimation

iterator

public java.util.Iterator<Widget> iterator()
Description copied from interface: HasWidgets
Gets an iterator for the contained widgets. This iterator is required to implement Iterator.remove().

Specified by:
iterator in interface HasWidgets
Specified by:
iterator in interface java.lang.Iterable<Widget>

onBeforeTabSelected

@Deprecated
public boolean onBeforeTabSelected(SourcesTabEvents sender,
                                              int tabIndex)
Deprecated. Use BeforeSelectionHandler.onBeforeSelection(com.google.gwt.event.logical.shared.BeforeSelectionEvent) instead

Description copied from interface: TabListener
Fired just before a tab is selected.

Specified by:
onBeforeTabSelected in interface TabListener
Parameters:
sender - the TabBar or TabPanel whose tab was selected.
tabIndex - the index of the tab about to be selected
Returns:
false to disallow the selection. If any listener returns false, then the selection will be disallowed.

onTabSelected

@Deprecated
public void onTabSelected(SourcesTabEvents sender,
                                     int tabIndex)
Deprecated. Use SelectionHandler.onSelection(com.google.gwt.event.logical.shared.SelectionEvent) instead

Description copied from interface: TabListener
Fired when a tab is selected.

Specified by:
onTabSelected in interface TabListener
Parameters:
sender - the TabBar or TabPanel whose tab was selected
tabIndex - the index of the tab that was selected

remove

public boolean remove(int index)
Description copied from interface: IndexedPanel
Removes the widget at the specified index.

Specified by:
remove in interface IndexedPanel
Parameters:
index - the index of the widget to be removed
Returns:
false if the widget is not present

remove

public boolean remove(Widget widget)
Removes the given widget, and its associated tab.

Specified by:
remove in interface HasWidgets
Parameters:
widget - the widget to be removed
Returns:
true if the widget was present

removeTabListener

@Deprecated
public void removeTabListener(TabListener listener)
Deprecated. Use the HandlerRegistration.removeHandler() method on the object returned by and add*Handler method instead

Description copied from interface: SourcesTabEvents
Removes a previously added listener interface.

Specified by:
removeTabListener in interface SourcesTabEvents
Parameters:
listener - the listener interface to remove

selectTab

public void selectTab(int index)
Programmatically selects the specified tab and fires events.

Parameters:
index - the index of the tab to be selected

selectTab

public void selectTab(int index,
                      boolean fireEvents)
Programmatically selects the specified tab.

Parameters:
index - the index of the tab to be selected
fireEvents - true to fire events, false not to

setAnimationEnabled

public void setAnimationEnabled(boolean enable)
Description copied from interface: HasAnimation
Enable or disable animations.

Specified by:
setAnimationEnabled in interface HasAnimation
Parameters:
enable - true to enable, false to disable

createTabTextWrapper

protected SimplePanel createTabTextWrapper()
Create a SimplePanel that will wrap the contents in a tab. Subclasses can use this method to wrap tabs in decorator panels.

Returns:
a SimplePanel to wrap the tab contents, or null to leave tabs unwrapped

onEnsureDebugId

protected void onEnsureDebugId(java.lang.String baseID)
Affected Elements:

Overrides:
onEnsureDebugId in class UIObject
Parameters:
baseID - the base ID used by the main element
See Also:
UIObject.onEnsureDebugId(String)

GWT 2.7.0