3

Vaadinポートレットを使用した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"));

しかし、コンソールでプロジェクトを再デプロイすると、

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

2 に答える 2

4

したがって、ポートレットは 内のアイコンを探しています/html/VAADIN/themes/liferay/LifeRayVaadin-portlet/icons/add.png

ディレクトリを作成してicons呼び出すVAADINことができます:

search.setIcon(new ThemeResource("../../icons/add.png"));

ThemeResourceパスなしでは、パス内のファイルが検索されるため、VAADIN/themes/yourtheme/(../../この場合) に移動し/VAADIN/ます。個人的には、プロジェクト内のテーマまたはポートレットの名前をハードコーディングすることは決してありません。変更された場合は、すべての参照を調べて変更する必要があるからです。

于 2012-10-04T05:52:28.107 に答える
1

画像を $PORTLET-NAME/docroot/icons ディレクトリに置き、パスを使用してそれらを呼び出すことができます

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

あなたの場合、それは

 Button search = new Button("Search");

  search.setIcon(new ThemeResource("/$PORLTET-NAME$/icons/add.png"));
于 2012-10-03T08:25:47.063 に答える