我正在尝试在DockLayoutPanel中嵌入一个TabLayoutPanel但是标签没有显示出来:(
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<g:DockLayoutPanel unit='PX'>
<g:north size='200'>
<g:HTML>
<h1>
My Header
</h1>
</g:HTML>
</g:north>
<g:center>
<g:TabLayoutPanel barUnit='PX' barHeight='3'>
<g:tab>
<g:header size='7'>
<b>HTML</b>
header
</g:header>
<g:Label>able</g:Label>
</g:tab>
<g:tab>
<g:customHeader size='7'>
<g:Label>Custom header</g:Label>
</g:customHeader>
<g:Label>baker</g:Label>
</g:tab>
</g:TabLayoutPanel>
</g:center>
<g:west size='192'>
<g:HTML>
<ul>
<li>Sidebar</li>
<li>Sidebar</li>
<li>Sidebar</li>
</ul>
</g:HTML>
</g:west>
</g:DockLayoutPanel>
</ui:UiBinder>
答案 0 :(得分:4)
如果您什么都没看到,请确保TabLayoutPanel(a)具有明确的大小,或者(b)最终附加到RootLayoutPanel(有关详细信息,请参阅http://code.google.com/webtoolkit/doc/latest/DevGuideUiPanels.html#Resize)。
如果问题是标签上缺少样式(即,您只是看到标签应该是原始文本),则需要添加一些样式(您需要的CSS规则在TabLayoutPanel的javadoc)。 TabLayoutPanel还没有任何默认样式,但我们很快就会添加一些。
答案 1 :(得分:2)
来自JavaDoc的示例有点误导 - 条形高度为3将隐藏标签标题,并且需要为正文指定高度。使用类似的东西:
<g:TabLayoutPanel barUnit='PX' barHeight='25' height="200px" >
或
<ui:style>
.tab {
height: 200px;
}
<g:TabLayoutPanel barUnit='PX' barHeight='25' styleName="{style.tab}" >
此外,您还可以在以下问题的评论#5中找到TabLayoutPanel的基本CSS样式:
http://code.google.com/p/google-web-toolkit/issues/detail?id=4429
答案 2 :(得分:0)
我使用新的TabLayoutPanel也遇到了同样的问题(即使页面上唯一的内容,标签也不显示)。我决定回到使用(现已弃用)TabPanel。试着看看是否有效:
示例代码:
<g:TabPanel width="100%" height="100%" ui:field="gwtimeTabPanel">
<g:Tab>
<g:TabHTML>Tab title</g:TabHTML>
<g:FlowPanel>
<!-- tab contents goes here -->
</g:FlowPanel>
</g:Tab>
</g:TabPanel>
答案 3 :(得分:0)
<强> Explenation 强>
您应该设置TabLayoutPanel和TabLayoutPanel本身的父面板的大小。例如,我有一个VerticalPanel和一个TabLayoutPanel,我将这个TabLayoutPanel添加到VerticalPanel(这使它成为TabLayoutPanel的父面板),如下所示:
veticalPanel.add(tabLayoutPanel);
RootPanel.get().add(verticalPanel);
什么都没做......
<强>答案强>
您应该声明面板的大小 ,就像这样
//set size
vertialPanel.setSize("100%","100%");
tabLayoutPanel.setSize("100%","100%")
RootPanel.get().add(verticalPanel);