0

好的,我有一个centralHTML放在<g:center>.mySplitLayoutPanel

在 UiBinder 中:

<g:SplitLayoutPanel ui:field="mySplitLayoutPanel">
   <g:west size="200">
       <g:HTMLPanel ui:field="westHTML" />
   </g:west>
   <g:center>
       <g:HTMLPanel ui:field="centralHTML" />
   </g:center>
</g:SplitLayoutPanel>

此代码工作正常mySplitLayoutPanel.setWidgetSize(westHTML,200)

好的,假设用户将拆分器向右拖动,使其centralHTML变得不可见。然后,要使 centralWidget 可见,我们必须使用:

mySplitLayoutPanel.setWidgetSize(centralHTML,200) // but this doesn't work

有人说只要设置西 Widget 的大小,中央就会自动显示。但我不想这样做,而我只想设置中央小部件的小部件大小。所以,

如何在 SplitLayoutPanel 中为中央小部件“setWidgetSize”?

4

1 回答 1

2

您无法在SplitLayoutPanelDockLayoutPanel中设置中心区域的大小,您只能从 javadoc 设置边缘子项的大小:

A panel that lays its child widgets out "docked" at its outer edges, and allows its last widget to take up the remaining space in its center.

这种行为是有道理的,否则停靠布局面板必须有一种方法来选择边缘小部件以减小它们的大小,这可能是最糟糕的。

我会使用onResize处理程序来了解小部件何时调整大小并以某种方式恢复大小。

于 2013-10-16T14:03:22.787 回答