2009-10-27 42 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