Вы можете попытаться поместить изображение под META-INF/resources
. Тогда вы можете ссылаться на изображение непосредственно по имени, как это: Image im=new Image("kissa.jpg","Random picture");
В противном случае, вы можете создать внутреннюю, а затем ссылаться на папку. На картинке ниже у меня есть эта установка
И это вывод:
Весь код:
TreeGrid<Person> grid = new TreeGrid<>(Person.class);
grid.setHierarchyColumn("name");
grid.addComponentColumn(e->{
if(e.getName().equals("daughter")) {
Image im=new Image("test/cat.jpg","Random picture");
im.setWidth("200px");
im.setHeight("150px");
return im;}
else {
Image im=new Image("kissa.jpg","Random picture");
im.setWidth("200px");
im.setHeight("150px");
return im;}}).setHeader("Cat");
Person dad = new Person("dad", null);
Person son = new Person("son", dad);
Person daughter = new Person("daughter", dad);
List<Person> all = Arrays.asList(dad, son, daughter);
all.forEach(p -> grid.getTreeData().addItem(p.getParent(), p));
add(grid);
Пример TreeGrid скопирован отсюда: Использование новых функций в версии LTS: case TreeGrid