假设您使用HorizontalPanel,VerticalPanel,FlowPanel或其他具有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);
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用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);
Run Code Online (Sandbox Code Playgroud)