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