Как применить CSS к DialogBox, используя ClientBundle? - PullRequest
0 голосов
/ 30 августа 2010

Я пытаюсь применить CSS к своему подклассу DialogBox через ClientBundle.При проверке DOM я вижу добавленное запутанное имя класса (class = "gwt-DialogBox GF2AVPFBPD"), но оно не переносит / не применяет никаких свойств / изменений ...

class RegistrationDialog 
  extends DialogBox 
{
  interface MyClientBundle 
    extends ClientBundle 
  {
    @Source("regDlg.css")
    MyCssResource css();
  }

  interface MyCssResource 
    extends CssResource 
  {
    String registrationDialog();
  }

  MyClientBundle myClientBundle = GWT.create(MyClientBundle.class);

  RegistrationDialog()
  {
    add(uiBinder.createAndBindUi(this));
    addStyleName(myClientBundle.css().registrationDialog());
  }
  ...

regDlg.css:

.registrationDialog
{
  background-image: url("logo.png") !important;
  background-color: red !important;
  color: red !important;
  font-size: xx-large !important;
}

Что мне не хватает, пожалуйста?

1 Ответ

3 голосов
/ 02 сентября 2010

Вы забыли вызвать CssResource.ensureInjected (). Из документации;

Во время выполнения вызовите CssResource.ensureInjected (), чтобы внедрить содержимое таблицы стилей.
- Этот метод можно вызывать несколько раз, поскольку последующие вызовы будут запрещены.
- Рекомендуемый шаблон - вызывать sureInjected () в статическом инициализаторе различных типов виджетов

Проверьте ответ на этот вопрос для получения дополнительной информации о коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...