如何在 Vaadin 中将图像添加到布局 (Spring)
How to add a image to a Layout in Vaadin (Spring)
我想将图像添加到我的网络应用程序,但我遇到了一些问题。
private void newImage(){
Image image = new Image("src/main/resources/images/sponsor.png");
absoluteLayout.addComponent(image);
}
我做了类似的事情,但没有用。我搜索了一些关于 FileResource
的内容,但我仍然不知道该怎么做。
我的图片文件放在目录src/main/resources/images
:
我也阅读了文档站点,但它仍然无法正常工作:https://vaadin.com/components/vaadin-image。
绝对布局组件和 Image
class 的构造函数仅采用一个参数的存在意味着您使用的是 Vaadin 8(或更早版本),而您链接到的文档是适用于 Vaadin 10 及更新版本。
从屏幕截图中可以看出,您将图像路径传递到的构造函数参数名为 caption
。因此,这是显示在图像旁边的文本,而不是对图像数据本身的引用。
您还需要为图像分配一个 Resource
,作为第二个构造函数参数或使用单独的 setSource
方法。对于 src/main/resources
中的文件,最简单的方法是使用 ClassResource
从 class 路径加载数据。
综合起来,一个工作示例将是这样的:
Image image = new Image();
image.setSource(new ClassResource("/images/sponsor.png"));
我想将图像添加到我的网络应用程序,但我遇到了一些问题。
private void newImage(){
Image image = new Image("src/main/resources/images/sponsor.png");
absoluteLayout.addComponent(image);
}
我做了类似的事情,但没有用。我搜索了一些关于 FileResource
的内容,但我仍然不知道该怎么做。
我的图片文件放在目录src/main/resources/images
:
我也阅读了文档站点,但它仍然无法正常工作:https://vaadin.com/components/vaadin-image。
绝对布局组件和 Image
class 的构造函数仅采用一个参数的存在意味着您使用的是 Vaadin 8(或更早版本),而您链接到的文档是适用于 Vaadin 10 及更新版本。
从屏幕截图中可以看出,您将图像路径传递到的构造函数参数名为 caption
。因此,这是显示在图像旁边的文本,而不是对图像数据本身的引用。
您还需要为图像分配一个 Resource
,作为第二个构造函数参数或使用单独的 setSource
方法。对于 src/main/resources
中的文件,最简单的方法是使用 ClassResource
从 class 路径加载数据。
综合起来,一个工作示例将是这样的:
Image image = new Image();
image.setSource(new ClassResource("/images/sponsor.png"));