0

看看这个 DockPanel http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwDockPanel 和它的代码:

  dock.add(new HTML(constants.cwDockPanelNorth1()), DockPanel.NORTH);
  dock.add(new HTML(constants.cwDockPanelSouth1()), DockPanel.SOUTH);
  dock.add(new HTML(constants.cwDockPanelEast()), DockPanel.EAST);
  dock.add(new HTML(constants.cwDockPanelWest()), DockPanel.WEST);
  dock.add(new HTML(constants.cwDockPanelNorth2()), DockPanel.NORTH);
  dock.add(new HTML(constants.cwDockPanelSouth2()), DockPanel.SOUTH);

它类似于Java中的BorderLayout吗?还是不同?

下图如何在 UiBinder 中使用 DockLayoutPanel 设置布局: 在此处输入图像描述 为什么不添加中心?我很困惑,还有如何在UiBinder中为上图设置docklayout?

4

1 回答 1

3

DockPanel和DockLayouPanel的区别

码头布局面板

将其子小部件“停靠”在其外边缘的面板,并允许其最后一个小部件占据其中心的剩余空间。此小部件仅在标准模式下工作,这要求运行它的 HTML 页面具有显式声明。

停靠面板

将其子小部件“停靠”在其外边缘的面板,并允许其最后一个小部件占据其中心的剩余空间。此小部件在标准模式中具有在怪癖模式中不存在的限制。DockPanel 中包含的子小部件不能使用百分比来调整大小。将子部件的高度设置为 100% 不会导致子部件填充可用高度。

如果您需要解决这些限制,请改用 DockLayoutPanel,但要了解它不是此类的替代品。它需要标准模式,并且最容易在 RootLayoutPanel(与 RootPanel 相对)下使用。

DockLayoutPanel 类似于 BorderLayout。

要在中心添加一些东西,请使用不带参数的添加:

dockLayoutPanel.add(widget);

这将占用所有剩余空间。

中心小部件应最后添加。否则你会得到一个例外。

您想要创建的 Layout 不能仅使用一个 DockLayoutPanel 完成。

于 2013-10-03T06:03:42.653 回答