我发现GWT标签面板在我需要做的样式上比较笨拙,因此我试图制作自己的简单标签面板。基本上是用于标签的HTML5 <nav>元素和用于显示内容的DeckPanel。让使用者使用CSS3找出其余部分。

GWT TabLayoutPanel具有以下“特殊”标签,用于定义标签的内容:

<g:TabLayoutPanel>
    <g:tab>
        <g:header>Tab Title</g:header>
        <g:OtherWidget>Tab contents</g:OtherWidget>
    </g:tab>
</g:TabLayoutPanel>


我指的是<g:tab><g:header>。我看到这些标记在各个地方都使用过,但是我不知道如何创建它们。查看TabLayoutPanel源代码,我看到它有一个add方法,该方法需要两个小部件,然后将一个小部件(内容)放入面板中进行显示,将另一个小部件(标头)放入TabLayoutPanel.Tab实例中。 。但是我不知道如何复制这种功能。

最佳答案

要为<g:tab><g:header>之类的小部件使用自定义标签,您需要创建一个自定义ElementParse并将其注册到UiBinderWriter。不幸的是,如果没有编辑gwt的源代码,没有简单的方法可以做到这一点。

有用的链接:

A link to the issue of not being able to create custom ElementParser

TabLayoutPanelParser

07-28 12:11