StackLayoutPanel高度

时间:2011-02-16 12:10:33

标签: gwt

我在gwt中使用以下代码:

<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空间,而我希望有一个stacklayoutpanel,其垂直大小取决于活动堆栈中可视化文本的数量。

这与stacklayoutpanel应该如何工作兼容吗?如果是这样,我怎样才能达到目标?

1 个答案:

答案 0 :(得分:1)

您可以手动设置StackLayoutPanel的大小,但您必须计算自己的大小 - 可能使用relevantStackWidget.getOffsetHeight()。这可能非常棘手,因为对于某些元素,getOffsetHeight()将返回不同的值,具体取决于StackLayoutPanel所处的动画阶段。

单独使用当前的GWT API无法让你的行为像你想要的那样。