ExtGwt动态更改ContentPanel的大小

ExtGwt动态更改ContentPanel的大小,gwt,layout,alignment,gxt,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); 然而,我需要这个面板有

在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,但不知何故这也不是一个好主意


有人知道如何实现这样的解决方案吗?

使用
FitLayout
ContentPanel
布局在其容器内。这样,
ContentPanel
的大小总是可以管理的,您不必指定它的尺寸

公共类ContentPanelContainer扩展了LayoutContainer{
@凌驾
受保护的void onRender(元素父元素,int索引){
super.onRender(父级,索引);
setLayout(新的FitLayout());
ContentPanel=新的ContentPanel();
panel.setLayout(新的CenterLayout());
添加(面板);
}    
}

使用
fitlaway
ContentPanel
布局在其容器内。这样,
ContentPanel
的大小总是可以管理的,您不必指定它的尺寸

公共类ContentPanelContainer扩展了LayoutContainer{
@凌驾
受保护的void onRender(元素父元素,int索引){
super.onRender(父级,索引);
setLayout(新的FitLayout());
ContentPanel=新的ContentPanel();
panel.setLayout(新的CenterLayout());
添加(面板);
}    
}

“另一件事是使用UIBinder,但不知何故这也不是一个好主意”。什么???@travis webb这不是一个好主意,因为在项目中,我们假设我们不想使用UIBinder。我并没有说这个工具不起作用,“另一件事是使用UIBinder,但不知何故这也不是一个好主意”。什么???@travis webb这不是一个好主意,因为在项目中,我们假设我们不想使用UIBinder。我没有说这个工具不起作用。谢谢你的回答。事实上,在我问了这个问题几个小时后,我就需要它了。我们(团队项目)决定,保持内容的静态高度。然而,我们使用FitLayout()进行了一秒钟的工作,但它仍然不是我们真正想要的(网站看起来像是以框为中心的列上的框)。但到目前为止,你的回答肯定会帮助别人。干杯谢谢你的回答。事实上,在我问了这个问题几个小时后,我就需要它了。我们(团队项目)决定,保持内容的静态高度。然而,我们使用FitLayout()进行了一秒钟的工作,但它仍然不是我们真正想要的(网站看起来像是以框为中心的列上的框)。但到目前为止,你的回答肯定会帮助别人。干杯