GWT css包含Client Bundle - > “没有源代码可用于类型de.main.resources.ResourceBundle ...”

时间:2011-06-22 15:08:44

标签: css gwt resources module clientbundle

在使用已弃用的方法将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?

我遗漏了什么吗?

1 个答案:

答案 0 :(得分:0)

是的,您需要实现CssResource的子类型并将其返回:

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();
    }
}