2009-11-05 71 views
3

我創建了一些類,在其中創建了一堆小部件(例如標籤,文本框)。我想立即創建小部件並將其添加到面板。我怎樣才能做到這一點。gwt添加自定義小部件到面板

+0

您的課程是擴展Composite還是其他任何容器?如果是的話不要忘記調用initWidget。你可以發佈你的代碼嗎? – 2009-11-06 16:04:57

回答

8

假設使用HorizontalPanelVerticalPanelFlowPanel或一些其他面板用add(Wiget)方法,你只需調用add(myWidget);

final VerticalPanel panel = new VerticalPanel(); 

final Button sendButton = new Button("Add widget"); 
panel.add(sendButton); 
sendButton.addClickHandler(new ClickHandler() { 

    @Override 
    public void onClick(ClickEvent event) { 
     panel.add(new Label(new Date().toString())); 
    } 
}); 

RootPanel.get().add(panel); 

的替代可以使用setVisible(boolean)顯示和隱藏窗口小部件,而不是添加和移除他們。

final VerticalPanel panel = new VerticalPanel(); 

final Button sendButton = new Button("Toggle visibility"); 
panel.add(sendButton); 

final Label label = new Label(new Date().toString()); 
panel.add(label); 

sendButton.addClickHandler(new ClickHandler() { 

    @Override 
    public void onClick(ClickEvent event) { 
     label.setVisible(!label.isVisible()); 
    } 
}); 

RootPanel.get().add(panel);