2016-03-09 64 views
0

我在screen.when上有兩個選項卡,當我更改選項卡時,它不會刷新。我正在嘗試添加SelectionHandler,但它給出錯誤。 有人可以幫忙。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; 

    } 

回答

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);