To create an icon you can use
AbstractImagePrototype icon = IconHelper.create("path/to/png");
Within a TreeGrid it is possible to use a ModelIconProvider
TreeGrid<ModelData> grid = new TreeGrid<ModelData>(store, columnModel); grid.setIconProvider(new MyIconProvider());
The provider can return an icon for different situations (like expanded or collapsed nodes, some special node types).
public class MyIconProvider implements ModelIconProvider<ModelData> { private final TreeGrid<ModelData> grid; public MyIconProvider(TreeGrid<ModelData> grid) { this.grid = grid; } public AbstractImagePrototype getIcon(ModelData model) { if (model instanceof Something) { return IconHelper.create("img/something.png"); } if (grid.isExpanded(model)) { return IconHelper.create("img/folder-open.png"); } else { return IconHelper.create("img/folder-close.png"); } } }