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

はい、のサブタイプを実装して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();
    }
}
于 2011-06-22T15:34:56.220 に答える