Как установить фоновое изображение GXT ContentPanel - PullRequest
0 голосов
/ 11 июня 2011

Серьезно, я думаю, что это будет просто, но я не могу понять это. У меня есть ContentPanel, кто Body Я хочу установить фон для использования Image? Как мне это сделать?

БОНУС ВОПРОС: Как изменить это изображение после отображения ContentPanel при запуске бизнес-действия (например, вход пользователя).

Ответы [ 4 ]

3 голосов
/ 15 июня 2011

Я не уверен, в чем заключалась моя проблема.Я знаю, что пробовал это ранее, но клялся, что это не рендеринг, как я хотел.

cp.setBodyStyle("background:black url('http://www.google.com/intl/en/adwords/select/images/samples/leaderboard.jpg') no-repeat top right");

Я еще не понял, как поменять его после входа в систему, поскольку я думаю, что setBodyStyle может быть тольконазывается pre-render.

Решение, предоставленное @AbstractChaos, возможно, может работать, но есть проблема с использованием объекта Image с этим.Возможно, потребуется включить CssResource.

ОБНОВЛЕНИЕ @ см. Также ответ @gonella.Я больше не использую GWT, поэтому я не проверял его.Если этот ответ наберет достаточное количество голосов, я поменяю официальный ответ на этот вопрос.

2 голосов
/ 19 июня 2012

то есть:

ContentPanel cp1 = new ContentPanel();

Image loadingImage = new Image(ExampleImages.INSTANCE.openstack01_580x200());
cp1.add(loadingImage);

public interface ExampleImages extends ClientBundle {

  public ExampleImages INSTANCE = GWT.create(ExampleImages.class);

  @Source("images/Openstack01_580x200.jpg")
  ImageResource openstack01_580x200();

}       

Это работает как шарм.

0 голосов
/ 20 июня 2011

Вы можете установить это таким образом
contentPanel.setStyleAttribute ("background", "url ('image link')");

Когда бизнес-действие запускается, тогда назовите это contentPanel.setStyleAttribute ("background", "url ('new image link')");

0 голосов
/ 13 июня 2011

Вы можете установить фон в стиле CSS, например,

.image1 {
background: url("yourLink");
}

.image2 {
background: url("another Link");
}

затем, возможно, измените стиль, на который он указывает, используя

contentPanel.setBodyStyleName("image2");

Что касается вашего бонусного вопроса, в случае сомнений позвоните по раскладке

contentPanel.layout(true);
...