说真的,我认为这会很简单,但我似乎无法弄明白。我有ContentPanel
谁Body
我想设置使用Image
的背景?我该怎么做?
奖金问题:
在触发业务操作(例如用户登录)时,如何在呈现ContentPanel
后更改该图像。
答案 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')”);