我正在尝试在TreeGrid列中显示一个很小的小图像(16x16像素)。
treeGrid.addComponentColumn(i -> new Image("file://c:/temp/reddot.png", "alt")).setHeader("Preview");
在我的IDE中,该文件URL带有下划线,我可以单击它,然后在浏览器中打开图像。因此,该文件似乎还可以存在。 但是不知何故,它不会出现在网格列中,并且“ alt”文本也不会出现。 嗯任何人都知道出什么事了吗?不幸的是我没有看到任何错误消息...
谢谢, 托尔斯滕
PS:我正在使用版本13。
答案 0 :(得分:0)
您可以尝试将图片放在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的示例从此处复制:Using new features with the LTS version: case TreeGrid