我发现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