2011-02-16 4 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과 실제 내용과 메인 창에있는 왼쪽 창을 생성

. 문제는 stacklayout이있는 왼쪽 창에서 사용 가능한 모든 verticale 공간을 사용하는 반면 active 스택에서 시각화 된 텍스트의 양에 따라 세로 크기가 달라지는 stacklayoutpanel을 갖고 싶다는 것입니다.

stacklayoutpanel이 작동하는 방법과 호환 가능합니까? 그렇다면 어떻게 목표를 달성 할 수 있습니까?

답변

1

수동으로 StackLayoutPanel의 크기를 설정할 수 있지만 아마도 relevantStackWidget.getOffsetHeight()을 사용하여 자신이 원하는 크기를 계산해야합니다. 일부 요소의 경우 StackLayoutPanel이있는 애니메이션 스테이지에 따라 getOffsetHeight()가 다른 값을 반환하기 때문에 매우 까다로운 작업이 될 수 있습니다.

현재 GWT API만으로 원하는대로 동작하도록하는 방법은 없습니다.