Package com.google.gwt.user.client.ui
Class TabPanel
- java.lang.Object
-
- com.google.gwt.user.client.ui.UIObject
-
- com.google.gwt.user.client.ui.Widget
-
- com.google.gwt.user.client.ui.Composite
-
- 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>
,java.util.EventListener
- 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 aTabBar
and aDeckPanel
. It does, however, implementHasWidgets
.CSS Style Rules
- .gwt-TabPanel { the tab panel itself }
- .gwt-TabPanelBottom { the bottom section of the tab panel (the deck containing the widget) }
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
-
Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.IndexedPanel
IndexedPanel.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
Constructors Constructor Description TabPanel()
Creates an empty tab panel.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
add(IsWidget w, IsWidget tabWidget)
Convenience overload to allowIsWidget
to be used directly.void
add(IsWidget w, java.lang.String tabText)
Convenience overload to allowIsWidget
to be used directly.void
add(IsWidget w, java.lang.String tabText, boolean asHTML)
Convenience overload to allowIsWidget
to be used directly.void
add(Widget w)
Adds a child widget.void
add(Widget w, Widget tabWidget)
Adds a widget to the tab panel.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.HandlerRegistration
addBeforeSelectionHandler(BeforeSelectionHandler<java.lang.Integer> handler)
Adds aBeforeSelectionEvent
handler.HandlerRegistration
addSelectionHandler(SelectionHandler<java.lang.Integer> handler)
Adds aSelectionEvent
handler.void
addTabListener(TabListener listener)
void
clear()
Removes all child widgets.protected SimplePanel
createTabTextWrapper()
Create aSimplePanel
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 allowIsWidget
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 allowIsWidget
to be used directly.void
insert(IsWidget widget, java.lang.String tabText, boolean asHTML, int beforeIndex)
Convenience overload to allowIsWidget
to be used directly.void
insert(IsWidget widget, java.lang.String tabText, int beforeIndex)
Convenience overload to allowIsWidget
to be used directly.void
insert(Widget widget, Widget tabWidget, int beforeIndex)
Inserts a widget into the tab panel.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.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)
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.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 theHandlerRegistration.removeHandler()
method on the object returned by and add*Handler method insteadvoid
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
-
-
-
-
Method Detail
-
add
public void add(IsWidget w, IsWidget tabWidget)
Convenience overload to allowIsWidget
to be used directly.
-
add
public void add(IsWidget w, java.lang.String tabText)
Convenience overload to allowIsWidget
to be used directly.
-
add
public void add(IsWidget w, java.lang.String tabText, boolean asHTML)
Convenience overload to allowIsWidget
to be used directly.
-
add
public void add(Widget w)
Description copied from interface:HasWidgets
Adds a child widget.- Specified by:
add
in interfaceHasWidgets
- 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 addedtabText
- 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 addedtabText
- the text to be shown on its tabasHTML
-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 addedtabWidget
- the widget to be shown in the tab
-
addBeforeSelectionHandler
public HandlerRegistration addBeforeSelectionHandler(BeforeSelectionHandler<java.lang.Integer> handler)
Description copied from interface:HasBeforeSelectionHandlers
Adds aBeforeSelectionEvent
handler.- Specified by:
addBeforeSelectionHandler
in interfaceHasBeforeSelectionHandlers<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 aSelectionEvent
handler.- Specified by:
addSelectionHandler
in interfaceHasSelectionHandlers<java.lang.Integer>
- Parameters:
handler
- the handler- Returns:
- the registration for the event
-
addTabListener
@Deprecated public void addTabListener(TabListener listener)
Deprecated.Description copied from interface:SourcesTabEvents
Adds a listener interface to receive click events.- Specified by:
addTabListener
in interfaceSourcesTabEvents
- Parameters:
listener
- the listener interface to add
-
clear
public void clear()
Description copied from interface:HasWidgets
Removes all child widgets.- Specified by:
clear
in interfaceHasWidgets
-
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 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 interfaceIndexedPanel
- 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 interfaceIndexedPanel
- Returns:
- the number of children
-
getWidgetIndex
public int getWidgetIndex(IsWidget child)
Convenience overload to allowIsWidget
to be used directly.- Specified by:
getWidgetIndex
in interfaceIndexedPanel.ForIsWidget
-
getWidgetIndex
public int getWidgetIndex(Widget widget)
Description copied from interface:IndexedPanel
Gets the index of the specified child widget.- Specified by:
getWidgetIndex
in interfaceIndexedPanel
- 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 allowIsWidget
to be used directly.
-
insert
public void insert(IsWidget widget, java.lang.String tabText, boolean asHTML, int beforeIndex)
Convenience overload to allowIsWidget
to be used directly.
-
insert
public void insert(IsWidget widget, java.lang.String tabText, int beforeIndex)
Convenience overload to allowIsWidget
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 insertedtabText
- the text to be shown on its tabasHTML
-true
to treat the specified text as HTMLbeforeIndex
- 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 insertedtabText
- the text to be shown on its tabbeforeIndex
- 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 interfaceHasAnimation
-
iterator
public java.util.Iterator<Widget> iterator()
Description copied from interface:HasWidgets
Gets an iterator for the contained widgets. This iterator is required to implementIterator.remove()
.- Specified by:
iterator
in interfaceHasWidgets
- Specified by:
iterator
in interfacejava.lang.Iterable<Widget>
-
onBeforeTabSelected
@Deprecated public boolean onBeforeTabSelected(SourcesTabEvents sender, int tabIndex)
Deprecated.Description copied from interface:TabListener
Fired just before a tab is selected.- Specified by:
onBeforeTabSelected
in interfaceTabListener
- Parameters:
sender
- theTabBar
orTabPanel
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.Description copied from interface:TabListener
Fired when a tab is selected.- Specified by:
onTabSelected
in interfaceTabListener
- Parameters:
sender
- theTabBar
orTabPanel
whose tab was selectedtabIndex
- 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 interfaceIndexedPanel
- 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 interfaceHasWidgets
- Parameters:
widget
- the widget to be removed- Returns:
true
if the widget was present
-
removeTabListener
@Deprecated public void removeTabListener(TabListener listener)
Deprecated.Use theHandlerRegistration.removeHandler()
method on the object returned by and add*Handler method insteadDescription copied from interface:SourcesTabEvents
Removes a previously added listener interface.- Specified by:
removeTabListener
in interfaceSourcesTabEvents
- 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 selectedfireEvents
- 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 interfaceHasAnimation
- Parameters:
enable
- true to enable, false to disable
-
createTabTextWrapper
protected SimplePanel createTabTextWrapper()
Create aSimplePanel
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:- -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.
- Overrides:
onEnsureDebugId
in classUIObject
- Parameters:
baseID
- the base ID used by the main element- See Also:
UIObject.onEnsureDebugId(String)
-
-