2011-01-16 5 views
0

Как заменить вкладку TabPanel на другой текст.Как изменить содержимое tabPanel?

в следующем коде я хочу заменить текст4 на вкладке один.

другими словами, когда вкладка показать это виджет (как text1), как я могу изменить его содержание с другим виджетом (как text4)

public void onModuleLoad() { 
    String text1 = "1111111111111111111111111111 ..."; 
    String text2 = "2222222222222222222222222222..."; 
    String text3 = "3333333333333333333333333333..."; 
    String text4 = "4444444444444444444444444444..."; 

    TabPanel panel = new TabPanel(); 

    FlowPanel flowpanel; 

    flowpanel = new FlowPanel(); 
    flowpanel.add(new Label(text1)); 
    panel.add(flowpanel, "One"); 

    flowpanel = new FlowPanel(); 
    flowpanel.add(new Label(text2)); 
    panel.add(flowpanel, "Two"); 

    flowpanel = new FlowPanel(); 
    flowpanel.add(new Label(text3)); 
    panel.add(flowpanel, "Three"); 

    panel.selectTab(0); 

    /* in this line exactlly , How can i raplace text4 in tab(one) */ 

    panel.setSize("500px", "250px"); 
    panel.addStyleName("table-center"); 
    RootPanel.get("demo").add(panel); 
} 

ответ

1

Простой способ сохранить Label1 и изменить значение, когда вы хотите

Label label1 = new Label(text1) 
flowpanel.add(label1); 
... 
label1.setText(text4); 

Если вы не сделаете это, то вы можете сделать это так:

FlowPanel f = (FlowPanel) panel.getWidget(0); // first added Widget (flowpanel) 
Label l = (Label) f.getWidget(0); // first added widget to panel (label) 
l.setText(text4); // change the text 
0

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

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