org.eclipse.swt.widgets

## Class TreeItem

- java.lang.Object
- - org.eclipse.swt.widgets.Widget
  - - org.eclipse.swt.widgets.Item
    - - org.eclipse.swt.widgets.TreeItem

All Implemented Interfaces:
  Adaptable

    public class TreeItem
    extends Item

Instances of this class represent a selectable user interface object that represents a hierarchy of tree items in a tree widget.

Styles:
  (none)
Events:
  (none)

IMPORTANT: This class is not intended to be subclassed.

Since:
  1.0

### Constructor Summary

Constructors
Constructor and Description
`TreeItem(Tree parent, int style)` Constructs a new instance of this class given its parent (which must be a `Tree` or a `TreeItem`) and a style value describing its behavior and appearance.
`TreeItem(Tree parent, int style, int index)` Constructs a new instance of this class given its parent (which must be a `Tree` or a `TreeItem`), a style value describing its behavior and appearance, and the index at which to place it in the items maintained by its parent.
`TreeItem(TreeItem parentItem, int style)` Constructs a new instance of this class given its parent (which must be a `Tree` or a `TreeItem`) and a style value describing its behavior and appearance.
`TreeItem(TreeItem parentItem, int style, int index)` Constructs a new instance of this class given its parent (which must be a `Tree` or a `TreeItem`), a style value describing its behavior and appearance, and the index at which to place it in the items maintained by its parent.

### Method Summary

Methods
`void` `clear(int index, boolean recursive)` Clears the item at the given zero-relative index in the receiver.
`void` `clearAll(boolean recursive)` Clears all the items in the receiver.
`<T> T` `getAdapter(java.lang.Class<T> adapter)` Implementation of the `Adaptable` interface.
`Color` `getBackground()` Returns the receiver's background color.
`Color` `getBackground(int index)` Returns the background color at the given column index in the receiver.
`Rectangle` `getBounds()` Returns a rectangle describing the receiver's size and location relative to its parent.
`Rectangle` `getBounds(int index)` Returns a rectangle describing the receiver's size and location relative to its parent at a column in the tree.
`boolean` `getChecked()` Returns `true` if the receiver is checked, and false otherwise.
`boolean` `getExpanded()` Returns `true` if the receiver is expanded, and false otherwise.
`Font` `getFont()` Returns the font that the receiver will use to paint textual information for this item.
`Font` `getFont(int index)` Returns the font that the receiver will use to paint textual information for the specified cell in this item.
`Color` `getForeground()` Returns the foreground color that the receiver will use to draw.
`Color` `getForeground(int index)` Returns the foreground color at the given column index in the receiver.
`boolean` `getGrayed()` Returns `true` if the receiver is grayed, and false otherwise.
`Image` `getImage()` Returns the receiver's image if it has one, or null if it does not.
`Image` `getImage(int index)` Returns the image stored at the given column index in the receiver, or null if the image has not been set or if the column does not exist.
`Rectangle` `getImageBounds(int index)` Returns a rectangle describing the size and location relative to its parent of an image at a column in the tree.
`TreeItem` `getItem(int index)` Returns the item at the given, zero-relative index in the receiver.
`int` `getItemCount()` Returns the number of items contained in the receiver that are direct item children of the receiver.
`TreeItem[]` `getItems()` Returns a (possibly empty) array of `TreeItem`s which are the direct item children of the receiver.
`Tree` `getParent()` Returns the receiver's parent, which must be a `Tree`.
`TreeItem` `getParentItem()` Returns the receiver's parent item, which must be a `TreeItem` or null when the receiver is a root.
`java.lang.String` `getText()` Returns the receiver's text, which will be an empty string if it has never been set.
`java.lang.String` `getText(int index)` Returns the text stored at the given column index in the receiver, or empty string if the text has not been set.
`Rectangle` `getTextBounds(int index)` Returns a rectangle describing the size and location relative to its parent of the text at a column in the tree.
`int` `indexOf(TreeItem item)` Searches the receiver's list starting at the first item (index 0) until an item is found that is equal to the argument, and returns the index of that item.
`void` `removeAll()` Removes all of the items from the receiver.
`void` `setBackground(Color value)` Sets the receiver's background color to the color specified by the argument, or to the default system color for the item if the argument is null.
`void` `setBackground(int index, Color color)` Sets the background color at the given column index in the receiver to the color specified by the argument, or to the default system color for the item if the argument is null.
`void` `setChecked(boolean checked)` Sets the checked state of the receiver.
`void` `setExpanded(boolean expanded)` Sets the expanded state of the receiver.
`void` `setFont(Font font)` Sets the font that the receiver will use to paint textual information for this item to the font specified by the argument, or to the default font for that kind of control if the argument is null.
`void` `setFont(int index, Font font)` Sets the font that the receiver will use to paint textual information for the specified cell in this item to the font specified by the argument, or to the default font for that kind of control if the argument is null.
`void` `setForeground(Color value)` Sets the receiver's foreground color to the color specified by the argument, or to the default system color for the item if the argument is null.
`void` `setForeground(int index, Color color)` Sets the foreground color at the given column index in the receiver to the color specified by the argument, or to the default system color for the item if the argument is null.
`void` `setGrayed(boolean grayed)` Sets the grayed state of the checkbox for this item.
`void` `setImage(Image image)` Sets the receiver's image to the argument, which may be null indicating that no image should be displayed.
`void` `setImage(Image[] value)` Sets the image for multiple columns in the tree.
`void` `setImage(int index, Image image)` Sets the receiver's image at a column.
`void` `setItemCount(int count)` Sets the number of child items contained in the receiver.
`void` `setText(int index, java.lang.String text)` Sets the receiver's text at a column
`void` `setText(java.lang.String text)` Sets the receiver's text.
`void` `setText(java.lang.String[] value)` Sets the text for multiple columns in the tree.

### Methods inherited from class org.eclipse.swt.widgets.Widget

`addDisposeListener, addListener, checkSubclass, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### TreeItem

    public TreeItem(Tree parent,
            int style)

Constructs a new instance of this class given its parent (which must be a `Tree` or a `TreeItem`) and a style value describing its behavior and appearance. The item is added to the end of the items maintained by its parent.

The style value is either one of the style constants defined in class `SWT` which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the `int` "|" operator) two or more of those `SWT` style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

Parameters:
  `parent` - a tree control which will be the parent of the new instance (cannot be null)
  `style` - the style of control to construct
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the parent is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  - ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
See Also:
  `SWT`, `Widget.checkSubclass()`, `Widget.getStyle()`

#### TreeItem

    public TreeItem(Tree parent,
            int style,
            int index)

Constructs a new instance of this class given its parent (which must be a `Tree` or a `TreeItem`), a style value describing its behavior and appearance, and the index at which to place it in the items maintained by its parent.

The style value is either one of the style constants defined in class `SWT` which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the `int` "|" operator) two or more of those `SWT` style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

Parameters:
  `parent` - a tree control which will be the parent of the new instance (cannot be null)
  `style` - the style of control to construct
  `index` - the zero-relative index to store the receiver in its parent
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the parent is null
  - ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the parent (inclusive)
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  - ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
See Also:
  `SWT`, `Widget.checkSubclass()`, `Widget.getStyle()`

#### TreeItem

    public TreeItem(TreeItem parentItem,
            int style)

Constructs a new instance of this class given its parent (which must be a `Tree` or a `TreeItem`) and a style value describing its behavior and appearance. The item is added to the end of the items maintained by its parent.

The style value is either one of the style constants defined in class `SWT` which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the `int` "|" operator) two or more of those `SWT` style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

Parameters:
  `parentItem` - a tree control which will be the parent of the new instance (cannot be null)
  `style` - the style of control to construct
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the parent is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  - ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
See Also:
  `SWT`, `Widget.checkSubclass()`, `Widget.getStyle()`

#### TreeItem

    public TreeItem(TreeItem parentItem,
            int style,
            int index)

Constructs a new instance of this class given its parent (which must be a `Tree` or a `TreeItem`), a style value describing its behavior and appearance, and the index at which to place it in the items maintained by its parent.

The style value is either one of the style constants defined in class `SWT` which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the `int` "|" operator) two or more of those `SWT` style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

Parameters:
  `parentItem` - a tree control which will be the parent of the new instance (cannot be null)
  `style` - the style of control to construct
  `index` - the zero-relative index to store the receiver in its parent
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the parent is null
  - ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the parent (inclusive)
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  - ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
See Also:
  `SWT`, `Widget.checkSubclass()`, `Widget.getStyle()`

### Method Detail

#### getAdapter

    public <T> T getAdapter(java.lang.Class<T> adapter)

Description copied from class: `Widget`
Implementation of the `Adaptable` interface.

IMPORTANT: This method is not part of the RWT public API. It is marked public only so that it can be shared within the packages provided by RWT. It should never be accessed from application code.

Specified by:
  `getAdapter` in interface `Adaptable`
Overrides:
  `getAdapter` in class `Widget`
Parameters:
  `adapter` - the lookup class
Returns:
  an object that can be cast to the given class or `null` if there is no adapter associated with the given class.

#### getParent

    public Tree getParent()

Returns the receiver's parent, which must be a `Tree`.

Returns:
  the receiver's parent
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getParentItem

    public TreeItem getParentItem()

Returns the receiver's parent item, which must be a `TreeItem` or null when the receiver is a root.

Returns:
  the receiver's parent item
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setExpanded

    public void setExpanded(boolean expanded)

Sets the expanded state of the receiver.

Parameters:
  `expanded` - the new expanded state
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getExpanded

    public boolean getExpanded()

Returns `true` if the receiver is expanded, and false otherwise.

Returns:
  the expanded state
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getBounds

    public Rectangle getBounds()

Returns a rectangle describing the receiver's size and location relative to its parent.

Returns:
  the receiver's bounding rectangle
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getBounds

    public Rectangle getBounds(int index)

Returns a rectangle describing the receiver's size and location relative to its parent at a column in the tree.

Parameters:
  `index` - the index that specifies the column
Returns:
  the receiver's bounding column rectangle
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getBackground

    public Color getBackground(int index)

Returns the background color at the given column index in the receiver.

Parameters:
  `index` - the column index
Returns:
  the background color
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getFont

    public Font getFont(int index)

Returns the font that the receiver will use to paint textual information for the specified cell in this item.

Parameters:
  `index` - the column index
Returns:
  the receiver's font
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getForeground

    public Color getForeground(int index)

Returns the foreground color at the given column index in the receiver.

Parameters:
  `index` - the column index
Returns:
  the foreground color
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setBackground

    public void setBackground(int index,
                     Color color)

Sets the background color at the given column index in the receiver to the color specified by the argument, or to the default system color for the item if the argument is null.

Parameters:
  `index` - the column index
  `color` - the new color (or null)
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_INVALID_ARGUMENT - if the argument has been disposed
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setFont

    public void setFont(int index,
               Font font)

Sets the font that the receiver will use to paint textual information for the specified cell in this item to the font specified by the argument, or to the default font for that kind of control if the argument is null.

Parameters:
  `index` - the column index
  `font` - the new font (or null)
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_INVALID_ARGUMENT - if the argument has been disposed
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setForeground

    public void setForeground(int index,
                     Color color)

Sets the foreground color at the given column index in the receiver to the color specified by the argument, or to the default system color for the item if the argument is null.

Parameters:
  `index` - the column index
  `color` - the new color (or null)
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_INVALID_ARGUMENT - if the argument has been disposed
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setFont

    public void setFont(Font font)

Sets the font that the receiver will use to paint textual information for this item to the font specified by the argument, or to the default font for that kind of control if the argument is null.

Parameters:
  `font` - the new font (or null)
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_INVALID_ARGUMENT - if the argument has been disposed
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getFont

    public Font getFont()

Returns the font that the receiver will use to paint textual information for this item.

Returns:
  the receiver's font
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setBackground

    public void setBackground(Color value)

Sets the receiver's background color to the color specified by the argument, or to the default system color for the item if the argument is null.

Parameters:
  `value` - the new color (or null)
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_INVALID_ARGUMENT - if the argument has been disposed
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getBackground

    public Color getBackground()

Returns the receiver's background color.

Returns:
  the background color
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getForeground

    public Color getForeground()

Returns the foreground color that the receiver will use to draw.

Returns:
  the receiver's foreground color
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setForeground

    public void setForeground(Color value)

Sets the receiver's foreground color to the color specified by the argument, or to the default system color for the item if the argument is null.

Parameters:
  `value` - the new color (or null)
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_INVALID_ARGUMENT - if the argument has been disposed
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setChecked

    public void setChecked(boolean checked)

Sets the checked state of the receiver.

Parameters:
  `checked` - the new checked state
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getChecked

    public boolean getChecked()

Returns `true` if the receiver is checked, and false otherwise. When the parent does not have the `CHECK style, return false.

`

Returns:
  the checked state
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setGrayed

    public void setGrayed(boolean grayed)

Sets the grayed state of the checkbox for this item. This state change only applies if the Tree was created with the SWT.CHECK style.

Parameters:
  `grayed` - the new grayed state of the checkbox
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getGrayed

    public boolean getGrayed()

Returns `true` if the receiver is grayed, and false otherwise. When the parent does not have the `CHECK style, return false.

`

Returns:
  the grayed state of the checkbox
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getText

    public java.lang.String getText()

Returns the receiver's text, which will be an empty string if it has never been set.

Overrides:
  `getText` in class `Item`
Returns:
  the receiver's text
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getText

    public java.lang.String getText(int index)

Returns the text stored at the given column index in the receiver, or empty string if the text has not been set.

Parameters:
  `index` - the column index
Returns:
  the text stored at the given column index in the receiver
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getTextBounds

    public Rectangle getTextBounds(int index)

Returns a rectangle describing the size and location relative to its parent of the text at a column in the tree.

Parameters:
  `index` - the index that specifies the column
Returns:
  the receiver's bounding text rectangle
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
Since:
  1.3

#### setText

    public void setText(java.lang.String[] value)

Sets the text for multiple columns in the tree.

Parameters:
  `value` - the array of new strings
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the text is null
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setText

    public void setText(java.lang.String text)

Sets the receiver's text.

Overrides:
  `setText` in class `Item`
Parameters:
  `text` - the new text
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the text is null
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setText

    public void setText(int index,
               java.lang.String text)

Sets the receiver's text at a column

Parameters:
  `index` - the column index
  `text` - the new text
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the text is null
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getImage

    public Image getImage()

Returns the receiver's image if it has one, or null if it does not.

Overrides:
  `getImage` in class `Item`
Returns:
  the receiver's image
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
Since:
  1.4

#### getImage

    public Image getImage(int index)

Returns the image stored at the given column index in the receiver, or null if the image has not been set or if the column does not exist.

Parameters:
  `index` - the column index
Returns:
  the image stored at the given column index in the receiver
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getImageBounds

    public Rectangle getImageBounds(int index)

Returns a rectangle describing the size and location relative to its parent of an image at a column in the tree.

Parameters:
  `index` - the index that specifies the column
Returns:
  the receiver's bounding image rectangle
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### clear

    public void clear(int index,
             boolean recursive)

Clears the item at the given zero-relative index in the receiver. The text, icon and other attributes of the item are set to the default value. If the tree was created with the `SWT.VIRTUAL` style, these attributes are requested again as needed.

Parameters:
  `index` - the index of the item to clear
  `recursive` - `true` if all child items of the indexed item should be cleared recursively, and `false` otherwise
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
  `SWT.VIRTUAL`, `SWT.SetData`

#### setImage

    public void setImage(Image image)

Description copied from class: `Item`
Sets the receiver's image to the argument, which may be null indicating that no image should be displayed.

Overrides:
  `setImage` in class `Item`
Parameters:
  `image` - the image to display on the receiver (may be null)

#### setImage

    public void setImage(int index,
                Image image)

Sets the receiver's image at a column.

Parameters:
  `index` - the column index
  `image` - the new image
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_INVALID_ARGUMENT - if the image has been disposed
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setImage

    public void setImage(Image[] value)

Sets the image for multiple columns in the tree.

Parameters:
  `value` - the array of new images
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the array of images is null
  - ERROR_INVALID_ARGUMENT - if one of the images has been disposed
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### clearAll

    public void clearAll(boolean recursive)

Clears all the items in the receiver. The text, icon and other attributes of the items are set to their default values. If the tree was created with the `SWT.VIRTUAL` style, these attributes are requested again as needed.

Parameters:
  `recursive` - `true` if all child items should be cleared recursively, and `false` otherwise
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
  `SWT.VIRTUAL`, `SWT.SetData`

#### getItems

    public TreeItem[] getItems()

Returns a (possibly empty) array of `TreeItem`s which are the direct item children of the receiver.

Note: This is not the actual structure used by the receiver to maintain its list of items, so modifying the array will not affect the receiver.

Returns:
  the receiver's items
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getItem

    public TreeItem getItem(int index)

Returns the item at the given, zero-relative index in the receiver. Throws an exception if the index is out of range.

Parameters:
  `index` - the index of the item to return
Returns:
  the item at the given index
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getItemCount

    public int getItemCount()

Returns the number of items contained in the receiver that are direct item children of the receiver.

Returns:
  the number of items
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### indexOf

    public int indexOf(TreeItem item)

Searches the receiver's list starting at the first item (index 0) until an item is found that is equal to the argument, and returns the index of that item. If no item is found, returns -1.

Parameters:
  `item` - the search item
Returns:
  the index of the item
Throws:
  `java.lang.IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the tool item is null
  - ERROR_INVALID_ARGUMENT - if the tool item has been disposed
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### removeAll

    public void removeAll()

Removes all of the items from the receiver.

Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setItemCount

    public void setItemCount(int count)

Sets the number of child items contained in the receiver.

Parameters:
  `count` - the number of items
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

Copyright (c) EclipseSource and others 2002, 2018. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0