2011-06-10 60 views
0

說真的,我認爲這將是一件簡單的事情,但我似乎無法弄清楚它。我有一個ContentPanel誰是Body我想設置使用Image的背景?我怎麼做?如何設置GXT ContentPanel的背景圖像

獎金的問題: 如何改變這種形象的ContentPanel之後被渲染,當一個企業的行動被觸發(例如,用戶登錄)。

回答

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。

UPDATE @請參閱@gonella提供的答案。我不再使用GWT,所以我沒有測試它。如果答案得到了足夠的選票,我會改變這個問題的正式答案。

0

你可以設置背景起來像這樣

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

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

如果有疑問,則其指向的風格可能改變使用

contentPanel.setBodyStyleName("image2"); 

爲您的獎金問題的呼叫佈局

CSS樣式
contentPanel.layout(true); 
0

可以這樣設置這個
contentPanel.setStyleAttribute( 「背景」, 「URL( '圖片鏈接')」);

當業務操作被觸發時,調用這個 contentPanel.setStyleAttribute(「background」,「url('new image link')」);

+1

這對ContentPanel不起作用。要爲「正文」部分設置背景,您必須獲取該元素的引用。以我的答案爲例。 – Snekse 2011-06-21 16:50:59

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

}  

它的工作原理就像一個魅力。