【问题标题】:question on GWT and dockpanel , sizing and resizing关于 GWT 和停靠面板、调整大小和调整大小的问题
【发布时间】:2010-06-08 22:30:52
【问题描述】:

gwt 内停靠面板上的问题

所以我希望停靠面板占据浏览器窗口的整个大小

        dockPanel.setSize("100%", "100%");

如果正确

下一个问题, 我要添加一个北面板,高 100 像素,占据浏览器的整个宽度

    topPanel.setSize("100%", "100px");
    dockPanel.add(topPanel, DockPanel.NORTH);

这是正确的, 然后我想添加一个 200px 宽的西面板和浏览器的整个长度直到北面板下方 westSideStackPanel.setSize("200px","100%") mainPanel.add(westSideStackPanel,DockPanel.WEST);

我已经创建了所有这些,但是当我查看我的停靠面板时,在整个屏幕上,西面板和北面板之间存在很大差距。为什么会这样?

北面板停留在100px,然后在整个屏幕宽度上出现约100px高的间隙。

【问题讨论】:

  • 您能否附上您所看到的内容与您希望看到的内容的屏幕截图?根据您的描述,有点难以理解发生了什么。
  • 更新并放置了屏幕截图,如您所见,从stackpanel到橙色的北部,是一个间隙

标签: java web-applications gwt


【解决方案1】:

尝试使用RootLayoutPanel 作为基本面板(这会根据浏览器窗口调整大小),然后使用 DockLayoutPanel(类似于 DockPanel)。 这种方法记录在here

public void onModuleLoad() {
    RootLayoutPanel rp = RootLayoutPanel.get();
    DockLayoutPanel dp = new DockLayoutPanel(Unit.PX);
    rp.add(dp);
    ...
}

【讨论】:

  • 是的,您必须使用 RootLayoutPanel。不幸的是,这不是他的问题,因为使用 RootPanel 会导致一切都与他想要的相去甚远。它曾经发生在我身上(忘记了 RootLayoutPanel),我所有的小部件都粘在了顶部。
【解决方案2】:

我过去曾遇到过与 DockLayoutPanel 类似的问题,我为您提供的解决方案是:切换到 LayoutPanel。 LayoutPanel 可以做 DockLayoutPanel 可以做的所有事情,但给你更多的灵活性。最后,您只会从使用 LayoutPanel 中获胜。

【讨论】:

    【解决方案3】:

    你试过了吗

    dockPanel.setCellHeight(topPanel, "100px");
    dockPanel.setCellHeight(westSideStackPanel, "100%");
    

    我对旧的 DockPanel 没有太多经验,但我认为这可以工作,因为它应该设置单元格的高度 - 而不是单元格内小部件的高度。

    在任何情况下,使用 Firebug 准确找出差距的来源可能是个好主意!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      • 2013-08-07
      • 2023-03-17
      • 2021-03-31
      • 1970-01-01
      • 2012-06-03
      • 1970-01-01
      相关资源
      最近更新 更多