Использование с 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.

Другие вопросы по тегам