Vaadin 8 grid: размер изображения в ячейке сетки?

Я пытаюсь визуализировать изображение в ячейке сетки следующим образом:

grid.addColumn(probe ->
    new ThemeResource("img/" + probe.getStructureData().getImageFileName()),
    new ImageRenderer()
).setCaption("Structure");

Я хочу установить размер изображения в пикселях. Как я могу это сделать? Кажется, у ImageRenderer нет для этого метода. Конечно, раньше я мог изменять размер своих изображений. Но я хотел бы добавить большое изображение, которое должно отображаться как всплывающая подсказка, а небольшая версия того же изображения должна отображаться в ячейке сетки. Я бы не хотел добавлять одно и то же изображение в двух размерах.

Спасибо!


person Natalie    schedule 16.10.2017    source источник


Ответы (1)


Попробуйте сделать это так.

grid.addComponentColumn(probe -> {
    Image image = new Image("", new ThemeResource("img/" + probe.getStructureData().getImageFileName()));
    image.setWidth(100, Sizeable.Unit.PIXELS);
    image.setHeight(100, Sizeable.Unit.PIXELS);

    return image;
}).setCaption("Structure");
person Dawid Fieluba    schedule 17.10.2017
comment
Большое спасибо! Это хорошо работает. Мне оставалось только удалить Sizeable. Возможно, вы используете другую версию Vaadin. - person Natalie; 17.10.2017
comment
Мой класс Unit находится в com.vaadin.server.Sizeable. Вы также можете использовать image.setHeight("100px"); - person Dawid Fieluba; 17.10.2017