ExtGwt动态改变ContentPanel的大小

时间:2012-05-05 11:09:41

标签: gwt layout alignment gxt

在ExtGwt中创建一个小应用程序时,我遇到了这样的问题:

有没有办法让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);

但是,我需要这个面板具有动态计算的高度,因为它在不同的地方有不同的内容。

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

任何人都知道如何实现这样的解决方案?

1 个答案:

答案 0 :(得分: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);
    }    
}