关于GWT和dockpanel的问题,调整大小和调整大小

时间:2010-06-07 21:43:46

标签: java web-applications gwt

关于gwt中停靠面板的问题

所以我希望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的间隙。

alt text

3 个答案:

答案 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确切地找出差距来自哪里可能是个好主意!