Tabpanel中的SelectionHandler

时间:2016-03-09 11:47:25

标签: gwt handler tabpanel

我的屏幕上有两个标签。当我更改标签时,它没有刷新。我试图添加SelectionHandler,但它给出错误。 有人可以帮忙。

private TabPanel createTabPanel(){
        TabPanel tabPanel =new TabPanel();
        tabPanel.setWidth(450);
        tabPanel.setAutoHeight(true);

        TabItem tab1 = new TabItem("Cash Flow Rates");
        tab1.addStyleName("pad-text");
        TabItem tab2 = new TabItem("Holdings Rates");
        tab2.addStyleName("pad-text");
        payRateToolbar = createToolbar();
        tab1.add(payRateToolbar);
        tabPanel.add(tab1);
        tab2.add(payRateToolbar);
        tabPanel.add(tab2);
        tabPanel.addSelectionHandler(new SelectionHandler<Integer>() 
                {
                    public void onSelection(SelectionEvent<Integer> event) 
                    {
                        int tabId = event.getSelectedItem();
                        com.google.gwt.user.client.ui.Widget tabWidget = tabPanel.getWidget(tabId);
                        if (tabWidget != null) 
                        {
                            //assumming that code to refresh will go here...
                        }
                    }
                });


        return tabPanel;

    }

1 个答案:

答案 0 :(得分:0)

TabPanel不支持tabPanel.add(yourwidget),因为没有指定Tabtext 请改用tabPanel .add(payRateToolbar, "Cash Flow Rates"))。 你也可以使用一个小部件来显示你的TabText,而不仅仅是一个字符串:

Label tab1 = new Label("Cash Flow Rates");
tab1.addStyleName("pad-text");
tabPanel .add(payRateToolbar,  tab1);