Изменить исходный CSS во время выполнения при использовании GWT и ClientBundle - PullRequest
3 голосов
/ 10 марта 2011

У меня есть 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, но возможно ли этово время выполнения изменить вместо этого вместо style2.css?

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

Если вы используете ресурсы CSS, к ним довольно легко получить программный доступ: отметьте это http://code.google.com/webtoolkit/doc/latest/DevGuideUiBinder.html#Programmatic_access

Код ключа:

@UiField AppResources resources;
1 голос
/ 01 апреля 2011

Если вы используете аннотации в стиле 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

...