GWT TabLayoutPanel不呈现图形内容
问题描述:
我具有类似于以下GWT TabLayoutPanel不呈现图形内容
<g:TabLayoutPanel ui:field="rightTabPanel"
width="100%" height="100%"
barUnit="EM" barHeight="3">
<g:tab>
<g:header>Graph</g:header>
<g:FlowPanel ui:field="graphContent"/>
</g:tab>
<g:tab>
<g:header>Data</g:header>
<g:FlowPanel ui:field="dataContent"/>
</g:tab>
</g:TabLayoutPanel>
I的结构有两个突出部在其上的显示图形和另一个显示数据 。但是,标签内的内容不可见。如果我把TabLayoutPanel的
<g:FlowPanel ui:field="graphContent"/>
之外,我可以看到 图,但如果我把作为图形上面显示是不可见的。 任何线索都会有所帮助。 在此先感谢。
答
为了TabLayoutPanel正常工作,你需要确保以下几点:
1)你在标准模式(使用< DOCTYPE HTML >)
2)您使用的一个!来自GWT 2.0的新布局面板适用于TabLayoutPanel的父级。
或
您明确指定TabLayoutPanel的高度(并且百分比不起作用,您将不得不使用不同的单位)。
TabLayoutPanel根据其* Layout容器的大小使用绝对定位。它不会自动填充普通父元素(如“div”)的空间。 所以,希望你可以简单地切换到使用其中一个* LayoutPanel作为父级(比如DockLayoutPanel)。
如果使用* LayoutPanel不是一个选项:由于的TabPanel不标准模式下工作(这确实需要使用,如果你想成为跨浏览器兼容)和TabLayoutPanel不起作用以及流体布局,我最终做出了我自己的TabPanel版本,并用它来代替。如果您习惯于制作自己的自定义小部件,并且无法使用其中一个* LayoutPanel,我建议您自己制作或扩展其中一个现有小部件。
或者,你可以使用CSS或JavaScript的选项卡的内容区域从位置改变:绝对到的位置是:相对的,但是这似乎是一个黑客位给我的和将来可能会断裂。
你选择了一个标签? – flash 2010-09-23 10:03:27
是的。我也这样做了。然而,我正在尝试的是让图形在一开始就呈现出来。如果它在TabLayoutPanel之外,它会呈现。 – lalit 2010-09-23 10:13:23