使用GWT中的选项卡项动态添加选项卡

时间:2015-02-11 08:53:33

标签: gwt gwt-tablayoutpanel

我想创建一个标签页,并在每个标签点击上加载不同的信息。

我希望能够在点击' +'时动态添加标签。标签。 enter image description here

所以,点击' +'应将新选项卡添加到同一tabLayoutPanel。

有关如何在GWT中执行此操作的任何建议。

感谢。

2 个答案:

答案 0 :(得分:2)

  • 添加' +'选项卡静态(例如ui xml)。
  • 添加选择处理程序(有关如何执行此操作,请参阅In GWT how do I handle the tab click event?)。
  • 在此处理程序中:如果选择了最后一个选项卡,请在其前面插入一个新选项卡,然后从代码中选择它。

答案 1 :(得分:1)

您还可以在tabPanel中添加一个空 + 小部件,然后在tabPanel上添加selectionChangeHandler以检测点击 + 标签,该标签会添加你的新标签并选择它。

因此,+标签可以完成工作并且永远不会显示:

    tabPanel.add(new Label(), "+");

    tabPanel.addSelectionHandler(new SelectionHandler<Integer>() {

        @Override
        public void onSelection(SelectionEvent<Integer> event) {
            if (event.getSelectedItem() == tabPanel.getWidgetCount() - 1) {                 
                Widget w = new Label(); // the widget which contains the new tab
                tabPanel.insert(w, w.toString(),
                        tabPanel.getWidgetCount() - 1);
                tabPanel.selectTab(w);
            }
        }
    });