2009-10-27 39 views
1

我已经创建了一个标签面板,点击一个按钮后可以添加额外的标签。如何杀死标签面板中的标签

我无法弄清楚的是如何删除不是最后添加的标签。

下面是我在哪里....

的TabPanel TP =新的TabPanel(); Horizo​​ntalPanel tabPanel = new Horizo​​ntalPanel(); 标签textLabel =新标签(“某个文件名”); Button killButton = new Button(“x”);

tabPanel.add(textLabel); tabPanel.add(killButton);

tp.add(新HTML( “一些内容”),的TabPanel); //身体和头

killButton.addClickHandler(新函数clickhandler(){ 公共无效的onClick(ClickEvent事件){

//Decide the Tab index that contains this button 
    //Remove this tab based on index 

} }); addClickHandler方法//结束

当我尝试使用getWidgetIndex()方法返回一个特定的标签,我得到-1每次的指标。

如何正确返回标签的索引?

请帮忙,因为我疯了!

:-(

回答

0

getWidgetIndex需要的内容控件,而不是标签控件作为参数。因此,例如,你的情况这将是一个小部件new HTML("Some Content")创建。

3

删除你需要使用一个制表到了Widget的引用您添加的选项卡的内容,或者你需要,你需要删除的选项卡的标签索引。你上面的例子中的一部分会是这样

 
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