如何设置GXT ContentPanel的背景图像

时间:2011-06-10 21:33:35

标签: gxt

说真的,我认为这会很简单,但我似乎无法弄明白。我有ContentPanelBody我想设置使用Image的背景?我该怎么做?

奖金问题: 在触发业务操作(例如用户登录)时,如何在呈现ContentPanel后更改该图像。

4 个答案:

答案 0 :(得分:3)

我不确定我的问题是什么。我知道我以前尝过这个,但发誓它没有按照我想要的方式呈现。

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

我还没想到如何在登录后交换它,因为我认为setBodyStyle只能被称为预渲染。

@AbstractChaos提供的解决方案可能有效,但使用Image对象时出现问题。可能需要合并CssResource。

<强>更新 @还可以看到@gonella提供的答案。我不再使用GWT,所以我没有测试过它。如果答案得到足够的答案,我将改变这个问题的正式答案。

答案 1 :(得分:2)

即:

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();

}       

它就像一个魅力。

答案 2 :(得分:0)

您可以将背景设置为CSS样式,如此

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

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

然后可能会改变它指向的样式

contentPanel.setBodyStyleName("image2");

如果有疑问请致电你的奖金问题

contentPanel.layout(true);

答案 3 :(得分:0)

您可以这样设置 contentPanel.setStyleAttribute(“background”,“url('image link')”);

触发业务操作后,请调用此方法 contentPanel.setStyleAttribute(“background”,“url('new image link')”);