3

私は ClientBundle を持っています:

public interface Resources extends ClientBundle {

    @Source("styles/styles.css")
    Layout styles();

    @Source("styles/styles2.css")
    Styles styles2();

}

私の UiBinder xml では、このクラスを次のように使用します。

<ui:with field='resources' type='com.nordea.omega.gwt.client.ui.AppResources' />
...
<div class="{resources.styles.label}">Text</div>

標準では、styles.css が使用されますが、実行時の変更で代わりに styles2.css を使用することは可能ですか?

4

2 に答える 2

1

GWT スタイルのアノテーションを使用する場合、知る限り動的に変更することはできません。これは、GWT のコンパイル時にアノテーション/クラスが静的に解決されるためです (前回 GWT を使用したのは約 1 年ほど前でした)。

最善の方法は、DOM をナビゲートし、リンクされた style.css を別のスタイルシートに変更することです。これを行う方法の例については、ショーケースの src を確認してください。

http://code.google.com/p/google-web-toolkit/source/browse/branches/crawlability/samples/showcase/src/com/google/gwt/sample/showcase/client/Showcase.java?r= 5652#514

于 2011-04-01T10:00:20.773 に答える
1

CSS リソースを使用する場合は、プログラムで簡単にアクセスできます: http://code.google.com/webtoolkit/doc/latest/DevGuideUiBinder.html#Programmatic_accessを確認してください。

キーコードは次のとおりです。

@UiField AppResources resources;
于 2011-04-08T07:56:48.537 に答える