全部, 我想要一个位于我的主ScrollPanel内的选项卡菜单窗格。每当用户从我的主页面单击菜单选项时,中心ScrollPanel就会删除之前的所有widgit并添加一个新的。
到目前为止,它的工作正常,直到我引入了一个TabLayoutPanel。正如你猜测的那样,TabLayout只显示选项卡,而不是没有大小的内容,是的,我希望它在100%的宽度和高度。
我已经在整个interweb中看到了这个,并且解决方案是将它附加到RoolLayoutPanel,因为TabLayoutPanel被设置为绝对但是这对我不起作用,因为我不想将它附加到根布局而不是这个内部客户区/ ScrollPanel。
我想要的只是一个标签式系统,所以如果TabLayoutPanel不是最好的选择,那么有人推荐另一个吗?我处于标准模式,因为我认为我应该针对此进行构建以获得更好的浏览器兼容性。
这是我的页面结构:
RootLayoutPanel rootPanel = RootLayoutPanel.get();
rootPanel.setSize("940px", "940px");
mainpanel = new FlowPanel();
mainpanel.setSize("100%", "100%");
rootPanel.add(mainpanel);
header = new FlowPanel();
mainpanel.add(header);
ScrollPanel mainbody = new ScrollPanel();
mainpanel.add(mainbody);
footer = new FlowPanel();
mainpanel.add(footer);
每当我想改变主人的内容时,我都会打电话:
mainbody.clear()
mainbody.add(..)
任何帮助将不胜感激,谢谢
答案 0 :(得分:0)
我不确定自己能得到什么。但是如何使用DeckLayoutPanel? DeckLayoutPanel拥有一个带有多个小部件的“套牌”,并且一次显示其中一个小部件。转换时甚至可以有滑动动画。
答案 1 :(得分:0)
我的解决方案:
使用RootLayoutPanel
代替RootPanel
public void onModuleLoad() {
binwebtabs bwt = new binwebtabs();
//RootPanel.get("mainpage").add(bwt);
RootLayoutPanel rp = RootLayoutPanel.get();
rp.add(bwt);
}
在uibinder XML的根目录中使用g:LayoutPanel
,然后您可以在单独的g:TabLayoutPanel
下添加任何小部件(例如标签)和g:layer
<g:LayoutPanel>
<g:layer>
<g:Label>Bin Web </g:Label>
</g:layer>
<g:layer>
<g:TabLayoutPanel ui:field="tabLayoutPanel" barUnit="PX" barHeight="60">
...
</g:TabLayoutPanel>
这样,g:TabLayoutPanel
内容可见,g:TabLayoutPanel
不必在根目录。