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 样式的注释,AFAIK 将无法动态更改它,因为注释/类是静态解析的,即 GWT 编译时(上次我使用 GWT 大约是一年左右)。

最好的方法是导航 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 回答