Изображение Ваадина в сетке не отображается - PullRequest
1 голос
/ 28 марта 2019

Я пытаюсь отобразить крошечное маленькое изображение (16x16 пикселей) в столбце TreeGrid.

 treeGrid.addComponentColumn(i -> new Image("file://c:/temp/reddot.png", "alt")).setHeader("Preview");

В моей IDE этот URL-адрес файла подчеркнут, я могу щелкнуть его, он открывает изображениев моем браузере.Итак, файл выглядит нормально и существует.Но почему-то он не появляется в столбце сетки, и текст «alt» тоже не появляется.ГектометрКто-нибудь есть идеи, что идет не так?К сожалению, я не вижу сообщений об ошибках ...

спасибо, Торстен

PS: я использую версию 13.

1 Ответ

0 голосов
/ 05 апреля 2019

Вы можете попытаться поместить изображение под META-INF/resources. Тогда вы можете ссылаться на изображение непосредственно по имени, как это: Image im=new Image("kissa.jpg","Random picture");

В противном случае, вы можете создать внутреннюю, а затем ссылаться на папку. На картинке ниже у меня есть эта установка Image location

И это вывод: enter image description here

Весь код:

    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

...