看起来您必须指定除一个子面板外的所有子面板的绝对尺寸。例如,来自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。
答案 0 :(得分:1)
你应该在DockLayoutPanel
(对于西部和中部地区,可能是南部地区,如果你不想让它使用自然高度)放在{ {3}}(对于北部地区的自然尺寸)