Изображения могут быть загружены из графических файлов, или они могут быть нарисованы в памяти.
Image image = new Image(Display.getCurrent(), width, height);
GC gc = new GC(image);
// draw icon using GC
gc.dispose();
Что касается отображения их в таблицах / деревьях, самый прямой подход - установить изображение на элемент таблицы / дерева:
TableItem item = ...
item.setImage(theImage);
Однако у этого подхода есть один существенный недостаток: в Windows, когда вы впервые устанавливаете изображение для элемента таблицы, высота этого изображения становится стандартной высотой для всех элементов в таблице. Поэтому, если вы установите большее изображение, оно будет уменьшено до размера первого изображения. Если вы установите изображение меньшего размера, оно будет увеличено.
Если все ваши изображения имеют одинаковый размер, это не будет проблемой.
Однако, если вы не можете заранее предсказать размер изображений, я рекомендую использовать пользовательский интерфейс рисования для визуализации элементов таблицы / дерева. Этот подход, безусловно, более интенсивный, но дает вам детальный контроль над результатом.