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

    java.lang.Object
      com.google.gwt.user.client.ui.UIObject
          com.google.gwt.user.client.ui.TreeItem

All Implemented Interfaces:
  HasHTML, HasText

    public class TreeItem

extends UIObject
implements HasHTML

An item that can be contained within a `Tree`.

### Example

>     public class TreeExample implements EntryPoint {

>       public void onModuleLoad() {
>         // Create a tree with a few items in it.
>         TreeItem root = new TreeItem("root");
>         root.addItem("item0");
>         root.addItem("item1");
>         root.addItem("item2");

>         // Add a CheckBox to the tree
>         TreeItem item = new TreeItem(new CheckBox("item3"));
>         root.addItem(item);

>         Tree t = new Tree();
>         t.addItem(root);

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

Constructor Summary
`TreeItem()` Creates an empty tree item.
`TreeItem(java.lang.String html)` Constructs a tree item with the given HTML.
`TreeItem(Widget widget)` Constructs a tree item with the given `Widget`.

Method Summary
`TreeItem` `addItem(java.lang.String itemText)` Adds a child tree item containing the specified text.
`void` `addItem(TreeItem item)` Adds another item as a child to this one.
`TreeItem` `addItem(Widget widget)` Adds a child tree item containing the specified widget.
`TreeItem` `getChild(int index)` Gets the child at the specified index.
`int` `getChildCount()` Gets the number of children contained in this item.
`int` `getChildIndex(TreeItem child)` Gets the index of the specified child item.
`protected HasFocus` `getFocusableWidget()` Returns the widget, if any, that should be focused on if this TreeItem is selected.
`java.lang.String` `getHTML()` Gets this object's contents as HTML.
`TreeItem` `getParentItem()` Gets this item's parent.
`boolean` `getState()` Gets whether this item's children are displayed.
`java.lang.String` `getText()` Gets this object's text.
`Tree` `getTree()` Gets the tree that contains this item.
`java.lang.Object` `getUserObject()` Gets the user-defined object associated with this item.
`Widget` `getWidget()` Gets the `Widget` associated with this tree item.
`boolean` `isSelected()` Determines whether this item is currently selected.
`void` `remove()` Removes this item from its tree.
`void` `removeItem(TreeItem item)` Removes one of this item's children.
`void` `removeItems()` Removes all of this item's children.
`void` `setHTML(java.lang.String html)` Sets this object's contents via HTML.
`void` `setSelected(boolean selected)` Selects or deselects this item.
`void` `setState(boolean open)` Sets whether this item's children are displayed.
`void` `setState(boolean open, boolean fireEvents)` Sets whether this item's children are displayed.
`void` `setText(java.lang.String text)` Sets this object's text.
`void` `setUserObject(java.lang.Object userObj)` Sets the user-defined object associated with this item.
`void` `setWidget(Widget newWidget)` Sets the current widget.

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

`addStyleDependentName, addStyleName, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, removeStyleDependentName, removeStyleName, setElement, setHeight, setPixelSize, setSize, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, 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

### TreeItem

    public TreeItem()

  Creates an empty tree item.

### TreeItem

    public TreeItem(java.lang.String html)

  Constructs a tree item with the given HTML.

  Parameters:
    `html` - the item's HTML

### TreeItem

    public TreeItem(Widget widget)

  Constructs a tree item with the given `Widget`.

  Parameters:
    `widget` - the item's widget

Method Detail

### addItem

    public TreeItem addItem(java.lang.String itemText)

  Adds a child tree item containing the specified text.

  Parameters:
    `itemText` - the text to be added
  Returns:
    the item that was added

### addItem

    public void addItem(TreeItem item)

  Adds another item as a child to this one.

  Parameters:
    `item` - the item to be added

### addItem

    public TreeItem addItem(Widget widget)

  Adds a child tree item containing the specified widget.

  Parameters:
    `widget` - the widget to be added
  Returns:
    the item that was added

### getChild

    public TreeItem getChild(int index)

  Gets the child at the specified index.

  Parameters:
    `index` - the index to be retrieved
  Returns:
    the item at that index

### getChildCount

    public int getChildCount()

  Gets the number of children contained in this item.

  Returns:
    this item's child count.

### getChildIndex

    public int getChildIndex(TreeItem child)

  Gets the index of the specified child item.

  Parameters:
    `child` - the child item to be found
  Returns:
    the child's index, or `-1` if none is found

### getHTML

    public java.lang.String getHTML()

  Description copied from interface: `HasHTML`
  Gets this object's contents as HTML.

  Specified by:
    `getHTML` in interface `HasHTML`
  Returns:
    the object's HTML

### getParentItem

    public TreeItem getParentItem()

  Gets this item's parent.

  Returns:
    the parent item

### getState

    public boolean getState()

  Gets whether this item's children are displayed.

  Returns:
    `true` if the item is open

### getText

    public java.lang.String getText()

  Description copied from interface: `HasText`
  Gets this object's text.

  Specified by:
    `getText` in interface `HasText`
  Returns:
    the object's text

### getTree

    public final Tree getTree()

  Gets the tree that contains this item.

  Returns:
    the containing tree

### getUserObject

    public java.lang.Object getUserObject()

  Gets the user-defined object associated with this item.

  Returns:
    the item's user-defined object

### getWidget

    public Widget getWidget()

  Gets the `Widget` associated with this tree item.

  Returns:
    the widget

### isSelected

    public boolean isSelected()

  Determines whether this item is currently selected.

  Returns:
    `true` if it is selected

### remove

    public void remove()

  Removes this item from its tree.

### removeItem

    public void removeItem(TreeItem item)

  Removes one of this item's children.

  Parameters:
    `item` - the item to be removed

### removeItems

    public void removeItems()

  Removes all of this item's children.

### setHTML

    public void setHTML(java.lang.String html)

  Description copied from interface: `HasHTML`
  Sets this object's contents via HTML. Use care when setting an object's HTML; it is an easy way to expose script-based security problems. Consider using `HasText.setText(String)` whenever possible.

  Specified by:
    `setHTML` in interface `HasHTML`
  Parameters:
    `html` - the object's new HTML

### setSelected

    public void setSelected(boolean selected)

  Selects or deselects this item.

  Parameters:
    `selected` - `true` to select the item, `false` to deselect it

### setState

    public void setState(boolean open)

  Sets whether this item's children are displayed.

  Parameters:
    `open` - whether the item is open

### setState

    public void setState(boolean open,
                         boolean fireEvents)

  Sets whether this item's children are displayed.

  Parameters:
    `open` - whether the item is open
    `fireEvents` - `true` to allow open/close events to be fired

### setText

    public void setText(java.lang.String text)

  Description copied from interface: `HasText`
  Sets this object's text.

  Specified by:
    `setText` in interface `HasText`
  Parameters:
    `text` - the object's new text

### setUserObject

    public void setUserObject(java.lang.Object userObj)

  Sets the user-defined object associated with this item.

  Parameters:
    `userObj` - the item's user-defined object

### setWidget

    public void setWidget(Widget newWidget)

  Sets the current widget. Any existing child widget will be removed.

  Parameters:
    `newWidget` - Widget to set

### getFocusableWidget

    protected HasFocus getFocusableWidget()

  Returns the widget, if any, that should be focused on if this TreeItem is selected.

  Returns:
    widget to be focused.