0

我有一个 SplitLayoutPanel。在北单元格中,我有一个 ScrollPanel,上面有一棵树。我希望这个 ScrollPanel 的高度与北单元格的高度相同,所以当树展开时,会出现一个滚动。调整北单元格的大小时,此 ScrollPanel 的大小必须更改。我已经尝试过 RequireResizes 但父级不发送大小信息......理想的方法应该是 ProvidesSize 小部件调用 onResize 方法,并为 RequiresSize 小部件子级提供可用大小

我很困惑。如何配置 SplitLayoutPanel 以调整单元格子级的大小?

谢谢

4

1 回答 1

0

创建一个扩展 Composite 并实现 RequiresResize 的类;像这样:

public class MyScrollPanel extends Composite implements RequiresResize {
 private ScrollPanel scrollPanel;

 public MyScrollPanel() {
  scrollPanel = new ScrollPanel();
  initWidget(scrollPanel);
 }

 public void onResize() {
  // do something to your scrollpanel
 }

}

然后将 MyScrollPanel 添加到 SplitLayoutPanel 中的北单元格。

编辑
但是。事实证明 ScrollPanel 默认情况下已经具有所需的行为。添加到 SplitLayoutPanel 单元格的 ScrollPanel 将自动填充单元格的大小,即使在调整大小时也是如此。并且任何大于可用空间的 ScrollPanel 子小部件都会导致出现滚动条。

但请确保您通过执行将 SplitLayoutPanel 添加到 RootLayoutPanel RootLayoutPanel.get().add(splitLayoutPanel);

于 2010-11-30T18:52:45.847 回答