4

我正在尝试在 GWT2.2 项目中一起使用 CssResource 和 ImageResource 。

CssResource 和混淆工作正常,但我在访问图像时遇到问题。

我已经可以通过以下方式直接从 ui.xml 文件中通过 ImageResource 访问图像:

<ui:with type="com.example.client.resource.ResourceBundle" field="myResource"/>
<g:Image resource="{myResource.image}"/>

但我无法使用@sprite 从外部 .css 文件中附加 ImageResource。

我有以下接口:

public interface ResourceBundle extends ClientBundle {
ResourceBundle INSTANCE = GWT.create (ResourceBundle.class);

    @Source("com/example/client/resource/images/image.png")
    ImageResource image();

    @Source("com/example/client/resource/css/mystyle.css")
    MyCssResource myCssResource();
    }

public interface MyCssResource extends CssResource {
    String className();
}

当我将精灵添加到 css 文件时,

@sprite .className {
    gwt-image: 'image';
}

我收到以下错误消息:

[ERROR] - Unable to find ImageResource method value("image") in
com.example.client.views.MyView_BinderImpl_GenBundle : Could not find 
no-arg method named image in type com.example.views.MyView_BinderImpl_GenBundle
4

1 回答 1

2

您可以从 UiBinder 模板访问您的样式,如下所示:

<ui:with type="com.example.client.resource.ResourceBundle" field="myResource"/>

<g:FlowPanel styleName="{myResource.myCssResource.className}"/>
于 2011-04-05T16:18:35.500 回答