【发布时间】:2015-06-23 15:52:07
【问题描述】:
我现在正在创建一个包含 2 个子小部件的 TabPanel。基本上 2 个子小部件(getGrid1() 和 getGrid2())是相同的,除了提交时的一些用户输入文本验证差异。
TabPanel tabPanel = new TabPanel();
grid1 = getGrid1();
panel1 = new SimplePanel(grid1);
grid2 = getGrid2();
panel2 = new SimplePanel(grid2);
tabPanel.add(panel1, new HTML("Tab1"));
tabPanel.add(panel2, new HTML("Tab2"));
tabPanel.selectTab(0);
dialogBox.add(tabPanel);
根据我的代码,这 2 个选项卡名称是可见的,但第一个选项卡中没有内容,选项卡 2 中的内容是完全可见的。我还尝试添加另一个子小部件,除了一些验证差异外,它也与其他 2 个小部件相同,只有第 3 个小部件内容可见。
知道如何处理它吗?我想要的是在 TabPanel 下有 3 个相同的小部件,除了一些验证差异。
谢谢!
【问题讨论】:
-
你能显示
getGrid1()和getGrid2()的代码吗? -
感谢您的评论。刚刚在 GWT TabPanel 中发现这个 add 方法的源代码里面有一个注释: Inserts a widget into tab panel。如果 Widget 已经附加到 TabPanel,它将被移动到请求的索引。似乎我们不能添加重复的。
-
我猜
getGrid1()和getGrid2()都返回相同的实例。只需创建不同的实例,它应该可以正常工作。 -
你赢了!!在为它创建不同的实例后,它现在正在工作。非常感谢!!
-
不客气。我将其添加为答案,以便您接受。
标签: html gwt smartgwt uibinder