GWT TabLayoutPanel不呈现图形内容

GWT TabLayoutPanel不呈现图形内容,gwt,uibinder,gwt-tablayoutpanel,Gwt,Uibinder,Gwt Tablayoutpanel,我有一个类似于下面的结构 <g:TabLayoutPanel ui:field="rightTabPanel" width="100%" height="100%" barUnit="EM" barHeight="3"> <g:tab> <g:header>Graph</g:header> <g:F

我有一个类似于下面的结构

<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> 

图表
资料
我有两个选项卡,其中一个显示图表,另一个显示 数据。但是,选项卡内的内容不可见。如果我把

<g:FlowPanel ui:field="graphContent"/>

在TabLayoutPanel之外我可以 请看图表,但如果我按上图所示放置,则图表不可见。 任何线索都会有帮助。
提前谢谢。

我不知道这是否有帮助,但也许可以尝试使用
而不是
。我知道这是不赞成的


我在TabLayoutPanel上也遇到了问题,但当我切换回TabPanel时,这些问题就消失了。TabLayoutPanel存在一些大小问题,例如无法放入div中,它必须“拥有”整个窗口,因此TabLayoutPanel与TabPanel完全不同。

为了使TabLayoutPanel正常工作,您需要确保以下几点:

1) 您处于标准模式(使用)
2) 您正在为TabLayoutPanel的父级使用GWT 2.0中的一个新布局面板。

明确指定TabLayoutPanel的高度(百分比不起作用,必须使用不同的单位)

TabLayoutPanel根据其*布局容器的大小使用绝对定位。它不会自动填充普通父元素(如“div”)的空间。 所以,希望您可以简单地切换到使用其中一个*LayoutPanel作为父级(例如DockLayoutPanel)

如果使用*LayoutPanel不是一个选项:由于TabPanel不能在标准模式下工作(如果您想要跨浏览器兼容,您确实需要使用该模式),并且TabLayoutPanel不能很好地与流体布局配合使用,因此我最终制作了自己版本的TabPanel并使用了它。如果您对创建自己的自定义小部件感到满意,但无法使用*LayoutPanel,我建议您创建自己的小部件或扩展现有的小部件


或者,您可以使用CSS或JavaScript将选项卡的内容区域从position:absolute更改为position:relative,但这对我来说似乎有点麻烦,将来可能会中断。

您选择了选项卡吗?是的。我也这么做了。然而,我正在尝试的是在一开始就正确渲染图形。如果它位于TabLayoutPanel.TabPanel之外,则会进行渲染。谢谢你,太好了!你可以随时更新我的答案,甚至把它标为正确答案:)