Вопрос

Я использую GWT ClientBundle впервые. Я писал интерфейс, который расширяет его, и вот код:

package edu.etf.fuzzy.client.login;

import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;

public interface Resources extends ClientBundle {

 @Source("logo_federacija.jpg")
 ImageResource logo();

 @Source("shim.gif")
 ImageResource shim();
}

Мой вопрос: как я могу сказать, где именно эти ресурсы (изображения в этом случае) можно найти. Должен ли я поставить их: а) в том же каталоге, что и интерфейс - (уродливый)? б) В каком-то конкретном каталоге, который никогда не может быть изменен? в) в каталоге, который я хочу, но должен быть механизм указывать его - (было бы здорово)?

Спасибо.

Это было полезно?

Решение

Я обычно создаю новый пакет для ресурсов (com.example.project.resource) и положить ClientBundle Интерфейс и соответствующие ресурсы там (вместе, как в одном каталоге) - это один файл Java плюс куча изображений, не требует дальнейшего разделения, IMHO.

Что касается пути к ресурсам - вы можете передать их через @Source("path") Аннотация. Например, если у вас есть ClientBundle интерфейс In com.example.project.resource и изображения в com.example.project.images, тогда вы пишете @Source("../images/shim.gif"). Отказ Возможно, вы можете использовать абсолютные пути, но убедитесь, что вы храните их в статической переменной и доле среди ресурса, поэтому его можно легко переопределить;)

Другие советы

Подобно точкам Игоря:

com.yoursite.resources: YourClientBundle.java
com.yoursite.resources.css: YourCssResource.java
com.yoursite.resources.images: image files here

Ключ вот в том, что если вы не потребляете ресурс (CSS / Image / Text), компилятор GWT будет игнорировать его. Это предотвращает Военная раздувание Поскольку ваше приложение получает владельца, и у вас есть сотни образов и не уверены, которые используются и которые нет.

Если вы используете возможность выбросить все в публично / изображения Папка, то все предметы будут включены в вашу заявку, независимо от того, используются ли они.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top