2

在将 css 资源包含到我的应用程序中的方式遇到一些问题后,我渴望使用 ClientBundle 包含 css 文件。

我将以下行添加到我的###.gwt.xml文件中:

<inherits name="com.google.gwt.resources.Resources" />

我创建了一个如下所示的界面:

import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;

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

    @Source("GWT_Chat.css")
    public CssResource css();
}

在我的 onModuleLoad() 方法中,我正在调用:

Window.alert(ResourceBundle.INSTANCE.css().getText());  

我的 css 文件是一个随机 css 文件,没有任何可能的 gwt 添加。

在浏览器中调用应用程序时,我面临的错误是:

[ERROR] [gwt_chat] - Line 33: No source code is available for type de.main.resources.ResourceBundle;
 did you forget to inherit a required module?

有什么我遗漏的吗?

4

1 回答 1

0

是的,您需要实现一个 SubtypeCssResource并返回它:

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

    @Source("GWT_Chat.css")
    public MyCssResource css();

    public static interface MyCssResource extends CssResource {
        String getText();
    }
}
于 2011-06-22T15:34:56.220 回答