是否可以使用UiBinder为StackLayoutPanel添加自定义标头?

时间:2011-11-16 13:55:16

标签: java gwt uibinder

使用GWT 2.3我希望能够为StackLayoutPanel指定自定义标题。

我可以通过调用StackLayoutPanels

以编程方式执行此操作
public void add(final Widget widget, Widget header, double headerSize);

方法,但是当我尝试使用以下代码从UiBinder中执行此操作时

<g:FlowPanel addStyleNames="{style.widget}">
    <g:StackLayoutPanel unit='EM' addStyleNames="{style.inner}">
        <g:stack>
            <g:header size='3'>
                <c:NavigatorHeader title="People"/>
            </g:header>
            <g:VerticalPanel>
                <g:Label>tom</g:Label>
                <g:Label>dick</g:Label>
                <g:Label>harry</g:Label>
            </g:VerticalPanel>
        </g:stack>
        <g:stack>
            <g:header size='3'>
                <c:NavigatorHeader title="Cars"/>
            </g:header>
            <g:VerticalPanel>
                <g:Label>estate</g:Label>
                <g:Label>saloon</g:Label>
                <g:Label>hatchback</g:Label>
            </g:VerticalPanel>
        </g:stack>
    </g:StackLayoutPanel>
</g:FlowPanel>

我得到了

Found widget in an HTML context Element <c:NavigatorHeader title='People'>

异常。

如何执行此操作或UiBinder不支持此功能?

1 个答案:

答案 0 :(得分:1)

Doh - 找到了它。

查看StackLayoutPanel UiBinder documentation发现我只需要使用元素g:customHeader代替g:header。