Vaadin,在哪里放图像?

时间:2012-10-03 07:42:06

标签: java liferay vaadin

我有Vaadin portlet的Liferay项目。

我想在我的按钮上添加图标。

  Button search = new Button("Search");
  search.setIcon(new ThemeResource("img/silk/add.png"));

但不知道我会把它放在哪里?现在我将它放在docroot目录中。

更新

不,我试试这个。

  Button search = new Button("Search");
  search.setIcon(new ThemeResource("LifeRayVaadin-portlet/icons/add.png"));

但是当我在console get中重新部署项目时

09:34:05,773 WARN  [404_jsp:109] /html/VAADIN/themes/liferay/LifeRayVaadin-portlet/icons/add.png

2 个答案:

答案 0 :(得分:4)

所以你的portlet正在寻找/html/VAADIN/themes/liferay/LifeRayVaadin-portlet/icons/add.png中的图标。

您可以在icons下创建目录VAADIN并致电:

search.setIcon(new ThemeResource("../../icons/add.png"));
没有任何路径的

ThemeResource会在VAADIN/themes/yourtheme/路径中查找该文件,因此../../会将您(在这种情况下)转到/VAADIN/。我个人永远不会硬编码项目中主题或portlet的名称,因为当它发生变化时,你必须经历每个引用并更改它们。

答案 1 :(得分:1)

您可以将图片放在$ PORTLET-NAME / docroot / icons目录中,并使用路径调用它们

/$PORTLET-NAME$/icons/add.png

在你的情况下它将是

 Button search = new Button("Search");

  search.setIcon(new ThemeResource("/$PORLTET-NAME$/icons/add.png"));