## com.google.gwt.user.client.ui
Class TabBar

    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.TabBar

All Implemented Interfaces:
  ClickListener, EventListener, java.util.EventListener, SourcesTabEvents

public class TabBar
extends Composite
implements SourcesTabEvents, ClickListener

A horizontal bar of folder-style tabs, most commonly used as part of a `TabPanel`.

### CSS Style Rules

- .gwt-TabBar { the tab bar itself }
- .gwt-TabBar .gwt-TabBarFirst { the left edge of the bar }
- .gwt-TabBar .gwt-TabBarRest { the right edge of the bar }
- .gwt-TabBar .gwt-TabBarItem { unselected tabs }
- .gwt-TabBar .gwt-TabBarItem-selected { additional style for selected tabs }

### Example

>     public class TabBarExample implements EntryPoint {

>       public void onModuleLoad() {
>         // Create a tab bar with three items.
>         TabBar bar = new TabBar();
>         bar.addTab("foo");
>         bar.addTab("bar");
>         bar.addTab("baz");

>         // Hook up a tab listener to do something when the user selects a tab.
>         bar.addTabListener(new TabListener() {
>           public void onTabSelected(SourcesTabEvents sender, int tabIndex) {
>             // Let the user know what they just did.
>             Window.alert("You clicked tab " + tabIndex);
>           }

>           public boolean onBeforeTabSelected(SourcesTabEvents sender,
>               int tabIndex) {

>             // Just for fun, let's disallow selection of 'bar'.
>             if (tabIndex == 1)
>               return false;
>             return true;
>           }
>         });

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

Constructor Summary
`TabBar()` Creates an empty tab bar.

Method Summary
`void` `addTab(java.lang.String text)` Adds a new tab with the specified text.
`void` `addTab(java.lang.String text, boolean asHTML)` Adds a new tab with the specified text.
`void` `addTab(Widget widget)` Adds a new tab with the specified widget.
`void` `addTabListener(TabListener listener)` Adds a listener interface to receive click events.
`int` `getSelectedTab()` Gets the tab that is currently selected.
`int` `getTabCount()` Gets the number of tabs present.
`java.lang.String` `getTabHTML(int index)` Gets the specified tab's HTML.
`void` `insertTab(java.lang.String text, boolean asHTML, int beforeIndex)` Inserts a new tab at the specified index.
`void` `insertTab(java.lang.String text, int beforeIndex)` Inserts a new tab at the specified index.
`void` `insertTab(Widget widget, int beforeIndex)` Inserts a new tab at the specified index.
`void` `onClick(Widget sender)` Fired when the user clicks on a widget.
`void` `removeTab(int index)` Removes the tab at the specified index.
`void` `removeTabListener(TabListener listener)` Removes a previously added listener interface.
`boolean` `selectTab(int index)` Programmatically selects the specified tab.

Methods inherited from class com.google.gwt.user.client.ui.Composite
`getElement, getWidget, initWidget, onAttach, onDetach, setWidget`

Methods inherited from class com.google.gwt.user.client.ui.Widget
`getParent, isAttached, onBrowserEvent, onLoad, onUnload, removeFromParent, setElement`

Methods inherited from class com.google.gwt.user.client.ui.UIObject
`addStyleName, getAbsoluteLeft, getAbsoluteTop, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getTitle, isVisible, isVisible, removeStyleName, resetStyleName, setHeight, setPixelSize, setSize, setStyleName, setStyleName, setTitle, setVisible, setVisible, setWidth, sinkEvents, toString, unsinkEvents`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### TabBar

    public TabBar()

  Creates an empty tab bar.

Method Detail

### addTab

    public void addTab(java.lang.String text)

  Adds a new tab with the specified text.

  Parameters:
    `text` - the new tab's text

### addTab

    public void addTab(java.lang.String text,
                       boolean asHTML)

  Adds a new tab with the specified text.

  Parameters:
    `text` - the new tab's text
    `asHTML` - `true` to treat the specified text as html

### addTab

    public void addTab(Widget widget)

  Adds a new tab with the specified widget.

  Parameters:
    `widget` - the new tab's widget.

### addTabListener

    public void addTabListener(TabListener listener)

  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

### getSelectedTab

    public int getSelectedTab()

  Gets the tab that is currently selected.

  Returns:
    the selected tab

### getTabCount

    public int getTabCount()

  Gets the number of tabs present.

  Returns:
    the tab count

### getTabHTML

    public java.lang.String getTabHTML(int index)

  Gets the specified tab's HTML.

  Parameters:
    `index` - the index of the tab whose HTML is to be retrieved
  Returns:
    the tab's HTML

### insertTab

    public void insertTab(java.lang.String text,
                          boolean asHTML,
                          int beforeIndex)

  Inserts a new tab at the specified index.

  Parameters:
    `text` - the new tab's text
    `asHTML` - `true` to treat the specified text as HTML
    `beforeIndex` - the index before which this tab will be inserted

### insertTab

    public void insertTab(java.lang.String text,
                          int beforeIndex)

  Inserts a new tab at the specified index.

  Parameters:
    `text` - the new tab's text
    `beforeIndex` - the index before which this tab will be inserted

### insertTab

    public void insertTab(Widget widget,
                          int beforeIndex)

  Inserts a new tab at the specified index.

  Parameters:
    `widget` - widget to be used in the new tab.
    `beforeIndex` - the index before which this tab will be inserted.

### onClick

    public void onClick(Widget sender)

  Description copied from interface: `ClickListener`
  Fired when the user clicks on a widget.

  Specified by:
    `onClick` in interface `ClickListener`
  Parameters:
    `sender` - the widget sending the event.

### removeTab

    public void removeTab(int index)

  Removes the tab at the specified index.

  Parameters:
    `index` - the index of the tab to be removed

### removeTabListener

    public void removeTabListener(TabListener listener)

  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 boolean selectTab(int index)

  Programmatically selects the specified tab. Use index -1 to specify that no tab should be selected.

  Parameters:
    `index` - the index of the tab to be selected.
  Returns:
    `true` if successful, `false` if the change is denied by the `TabListener`.