GWT DockLayoutPanel与浏览器确定一些子面板的大小?

时间:2012-01-02 16:39:01

标签: gwt layout

看起来您必须指定除一个子面板外的所有子面板的绝对尺寸。例如,来自GWT docs

DockLayoutPanel p = new DockLayoutPanel(Unit.EM);
p.addNorth(new HTML("header"), 2);
p.addSouth(new HTML("footer"), 2);
p.addWest(new HTML("navigation"), 10);
p.add(new HTML(content));

但是我想要通过浏览器调整大小的北面板。我在里面放了一些文字或按钮,我不确切知道它的大小,我只知道它相对较薄,位于页面顶部。我希望内容占用剩下的空间,但不多了,所以没有浏览器滚动条。有没有办法用这些较新的布局面板处理这个?

现在我正在使用较旧的面板,并且我有一个附加Window.addResizeHandler的处理程序,它设置主要内容区域的高度,以便所有内容都适合Window.getClientHeight

更新

托马斯在DockLayoutPanel内建议HeaderPanel,但这对我不起作用:

<g:HeaderPanel>
 <g:Label>Header top</g:Label>
 <g:DockLayoutPanel unit='PX'>
   <g:west size='300'>
     <g:Label>West</g:Label>
   </g:west>
   <g:center>
     <g:Label>Center</g:Label>
   </g:center>
 </g:DockLayoutPanel>
</g:HeaderPanel>

“Header top”在那里,其余的看不见。看起来内部div的高度为0。

1 个答案:

答案 0 :(得分:1)

你应该在DockLayoutPanel(对于西部和中部地区,可能是南部地区,如果你不想让它使用自然高度)放在{ {3}}(对于北部地区的自然尺寸