我创建了一个标签面板,可以在单击按钮时添加其他标签。
我无法弄清楚如何删除不是最后添加的标签。
这就是我的所在......
TabPanel tp = new TabPanel(); HorizontalPanel tabPanel = new HorizontalPanel(); 标签textLabel = new Label(“Some Filename”); 按钮killButton = new Button(“x”);
tabPanel.add(为textLabel); tabPanel.add(killButton);
tp.add(新HTML(“部分内容”),tabPanel); //正文和标题
killButton.addClickHandler(new ClickHandler(){ public void onClick(ClickEvent事件){
//Decide the Tab index that contains this button
//Remove this tab based on index
} }); // addClickHandler方法结束
当我尝试使用getWidgetIndex()方法返回特定选项卡的索引时,我每次都得到-1。
如何正确返回标签索引?
请帮忙,因为我疯了!!!
: - (
答案 0 :(得分:3)
要删除选项卡,您需要引用添加的窗口小部件作为选项卡的内容,或者需要删除选项卡的选项卡索引。以上示例的一部分就像
final TabPanel tp = new TabPanel(); final HTML someContent1 = new HTML("Page A"); ... public void onClick(ClickEvent event){ tp.remove(someContent1); // or just remove the tab it self //tp.getTabBar().removeTab(0); }
NingZhang.info
答案 1 :(得分:0)
getWidgetIndex
需要内容小部件而不是tab小部件作为参数。例如,在您的情况下,这将是使用new HTML("Some Content")
创建的小部件。