2011-02-16 49 views
0

我使用以下代碼中GWT:StackLayoutPanel高度

<g:DockLayoutPanel unit='EM'> 
    <g:north size='5'> 
     <g:Label>www.wing-project.org</g:Label> 
    </g:north> 
    <g:west size='10'> 
     <g:StackLayoutPanel unit='EM'> 
      <g:stack> 
       <g:header size='3'> 
        Monitor 
       </g:header> 
       <g:HTMLPanel> 
        Overview 
       </g:HTMLPanel> 
      </g:stack> 
      <g:stack> 
       <g:header size='3'> 
        Configure 
       </g:header> 
       <g:HTMLPanel> 
        link 
       </g:HTMLPanel> 
      </g:stack> 
      <g:stack> 
       <g:header size='3'> 
        Help 
       </g:header> 
       <g:HTMLPanel /> 
      </g:stack> 
     </g:StackLayoutPanel> 
    </g:west> 
    <g:center> 
     <g:HTMLPanel> 
      <g:Button ui:field="button" /> 
     </g:HTMLPanel> 
    </g:center> 
</g:DockLayoutPanel> 

這產生了頭與stacklayout並與實際的內容的主窗格左窗格。問題是帶有堆棧佈局的左窗格佔用了所有可用的verticale空間,而我想要一個stacklayoutpanel,其垂直大小取決於活動堆棧中可視化文本的數量。

這與stacklayoutpanel應該如何工作兼容?如果是這樣,我該如何實現目標?

回答

1

您可以手動設置StackLayoutPanel的大小,但是您必須計算自己應該使用的大小 - 可能使用的是relevantStackWidget.getOffsetHeight()。這可能會非常棘手,因爲對於某些元素,getOffsetHeight()將根據StackLayoutPanel所處的動畫的哪個階段返回不同的值。

沒有辦法讓它像現在的GWT API一樣運行。