2009-10-27 1 views
1

Я создал панель вкладок, где можно добавить дополнительные вкладки при нажатии кнопки.Как убить вкладку в панели вкладок

Я не могу понять, как удалить вкладку, которая не была добавлена ​​последним.

Вот где я ....

TabPanel ф = новый TabPanel(); HorizontalPanel tabPanel = new HorizontalPanel(); Метка textLabel = новая метка («Некоторое имя файла»); Кнопка killButton = новая кнопка («x»);

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

tp.add (новый HTML ("Некоторые Content"), 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

удалить вкладку, которую нужно либо ссылка на виджет вы добавили в качестве содержимого вкладки, или требуется индекс вкладки для вкладки вы должны удалить. Часть вашего вышеприведенного примера, как

 
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

Смежные вопросы