所以我希望dockpanel占用浏览器窗口的整个大小
dockPanel.setSize("100%", "100%");
如果这是正确的
下一个问题, 我要添加一个北面板,它将是100px高并占据浏览器的整个宽度
topPanel.setSize("100%", "100px");
dockPanel.add(topPanel, DockPanel.NORTH);
这是对的, 然后我想添加一个200px宽的西面板和浏览器的整个长度到北面板下面 westSideStackPanel.setSize( “200像素”, “100%”) mainPanel.add(westSideStackPanel,DockPanel.WEST);
我创造了这一切但是当我看到我的停靠栏时,西面板和北面板之间的整个屏幕上都有一个很大的差距。为什么会这样?
北面板保持在100px,然后在整个屏幕宽度上有一个约100px的间隙。
答案 0 :(得分:3)
尝试使用RootLayoutPanel作为基本面板(这会调整大小到浏览器窗口),然后使用DockLayoutPanel(类似于DockPanel)。 这种方法记录在案here。
public void onModuleLoad() {
RootLayoutPanel rp = RootLayoutPanel.get();
DockLayoutPanel dp = new DockLayoutPanel(Unit.PX);
rp.add(dp);
...
}
答案 1 :(得分:0)
过去我遇到过与DockLayoutPanel类似的问题,我的解决方案是:切换到LayoutPanel。 LayoutPanel可以完成DockLayoutPanel可以执行的所有操作,但可以为您提供更大的灵活性。最后,您只能赢得使用LayoutPanel。
答案 2 :(得分:0)
你试过吗
dockPanel.setCellHeight(topPanel, "100px");
dockPanel.setCellHeight(westSideStackPanel, "100%");
我对旧的DockPanel没有多少经验,但我认为,这可能有用,因为它应该设置单元格的高度 - 而不是单元格内部小部件的高度。
无论如何,使用Firebug确切地找出差距来自哪里可能是个好主意!