Прозрачный ввод текста без полей

Я впервые использую 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();
}

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

Спасибо.

21
задан slugmandrew 30 October 2013 в 09:29
поделиться

1 ответ

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

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

.
24
ответ дан 29 November 2019 в 21:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: