2012-05-05 67 views
1

的動態改變大小,而創造ExtGwt小aplication我碰到了這樣的問題:ExtGwt的ContentPanel

有什麼辦法來水平(只有水平)居中的ContentPanel的內容?

我所知道的一個解決方案是使用:

ContentPanel panel = new ContentPanel(); 
panel.setLayout(new CenterLayout()); 
//but here is the problem, I MUST set the size of panel 
panel.setSize(400, 200); 

不過,我需要這個面板有dinamically計算的高度,因爲它在不同的地方不同的內容。

其他的事情是使用UIBinder,但這也不是一個好主意。

任何人有想法如何實現這樣的解決方案?

+0

「其他的事情就是使用UIBinder,但這在某種程度上也不是一個好主意」。什麼?? –

+0

@ travis-webb這不是一個好主意,因爲在項目中我們假設我們不想使用UIBinder。我沒有說這個工具不工作。 – storaged

回答

1

將其容器內的ContentPanel佈置爲FitLayout。這樣,ContentPanel的大小總是被管理的,你不必指定它的大小。

public class ContentPanelContainer extends LayoutContainer { 

    @Override 
    protected void onRender(Element parent, int index) { 
     super.onRender(parent, index); 

     setLayout(new FitLayout()); 

     ContentPanel panel = new ContentPanel(); 
     panel.setLayout(new CenterLayout()); 

     add(panel); 
    }  
} 
+0

謝謝你的回答。事實上,在我提出這個問題後的幾個小時內,我就需要它。我們(團隊項目)決定保持內容的靜態高度。然而,我們正在使用FitLayout()一秒鐘,但它仍然不是我們正在尋找的東西(網站看起來像盒子上盒居中列)。那麼到目前爲止,你的答案當然可以幫助其他人。乾杯! – storaged