Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как убить вкладку на панели вкладок

Автор вопроса: user193867Ответов: 2

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

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

Вот где я ....

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

tabPanel.add (текстовая метка); tabPanel.add (killButton);

tp.add (new HTML ("Some Content"), tabPanel); // Тело и заголовок

killButton.addClickHandler (новый ClickHandler () {public void onClick (событие ClickEvent) {

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

}}); // Конец метода addClickHandler

Когда я пытаюсь использовать метод getWidgetIndex () для возврата индекса определенной вкладки, я каждый раз получаю -1.

Как правильно вернуть индекс вкладки?

пожалуйста, помогите, я схожу с ума !!!

:-(

gwt

Ответы

Ответ 1 · рейтинг 3 · Ning120

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

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

Ответ 2 · Hilbrand Bouwkamp

getWidgetIndex в качестве аргумента требуется виджет содержимого вместо виджета вкладки. Так, например, в вашем случае это будет виджет, созданный с помощью new HTML("Some Content").

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы