我用下一个方式描述我的面板
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<g:DockLayoutPanel unit="PX" width="600" >
<g:north size="85">
....
</g:north>
<g:center>
....
</g:center>
</g:DockLayoutPanel>
GWT为北部和中间的下一个div生成。
<div style="position: absolute; overflow: hidden; left: 0px; top: 0px; right: 0px; height: 85px;"
<div style="position: absolute; overflow: hidden; left: 0px; top: 85px; right: 0px; bottom: 0px;">
它们包含我需要的数据,但第二个div不显示。哪里错了?
UPD: 例如,对于
<g:center>
<g:FlowPanel height="100%">
<g:Label height="100%">TEST2</g:Label>
</g:FlowPanel>
</g:center>
我得到了
<div style="position: absolute; overflow: hidden; left: 0px; top: 85px; right: 0px; bottom: 0px;">
<div style="position: absolute; overflow: hidden; left: 0px; top: 85px; right: 0px; bottom: 0px;">
<div style="height: 100%; position: absolute; left: 0px; top: 0px; right: 0px; bottom: 0px;">
<div class="gwt-Label" style="height: 100%;">TEST2</div>
</div>
</div>
</div>
答案 0 :(得分:9)
我想我知道你做错了什么。 你需要这个:
RootLayoutPanel().get().add(new MyView());
而不是:
RootPanel().get().add(new MyView());
因为如果你使用uibinder,你需要RootLayouPanel!
我希望它会对你有所帮助!
答案 1 :(得分:1)
我已经修复了下一个方法:
<ui:style>
.visible {
overflow: visible !important;
}
</ui:style>
<g:DockLayoutPanel unit="PX" width="100%" height="100%">
<g:north size="46" styleName="{style.visible}">
...
</g:north>
</g:DockLayoutPanel>
答案 2 :(得分:0)
修改强>
重要的是,center
窗口小部件中的内容。示例FlowPanel将填充该区域,但VerticalPanel不会。然后,您必须将height
属性设置为100%。