Использование с gwt Uibinder css с набором фонового изображения
У меня есть класс, который расширяет ClientBundle и определяет CssResource. Я хочу использовать его в шаблоне Uibinder в качестве свойства css для панели (это будет фоном. Но во время работы изображение не отображается. После кода:
Image.css:
.backgroundPage {
background-image: url("../resources/Universe-Big-Planet.jpg");
background-repeat:no-repeat;
/* background-color: red; */
}
BundleResouces.java:
public interface BundleResources extends ClientBundle {
public final BundleResources IMPL= (BundleResources) GWT.create(BundleResources.class);
@Source("../resources/Universe-Big-Planet.jpg")
ImageResource universeBigPlanet();
@Source("../resources/Wood_blue.jpg")
ImageResource woodBlue();
@Source("Images.css")
MyStyle mystyle();
public interface MyStyle extends CssResource{
String backgroundPage();
}
}
Home.ui.xml (шаблон):
<ui:with field='res' type='it.myproject.movieuniverse.client.bundle.BundleResources'/>
.............................
</ui:style>
<g:DockLayoutPanel ui:field="background" unit="PX" styleName="{res.mystyle.backgroundPage}">
Home.java:
public Home() {
initWidget(uiBinder.createAndBindUi(this));
Window.addResizeHandler(resizeHandler);
resizeWidget();
BundleResources.IMPL.mystyle().ensureInjected();
}
Если я пытаюсь использовать background-color: red, он работает, поэтому CSS указывает правильно. Я не знаю, как решить это, спасибо!
1 ответ
Проверьте в своем браузере, пытается ли он загрузить это изображение. Скорее всего, путь неправильный.
Путь должен быть к общедоступному изображению на сервере, а не в вашей среде разработки, как в случае использования ImageResource.
В вашем коде вы вообще не используете ImageResource. Если вы планируете использовать его, вам не нужно указывать путь в CSS.