动态添加多个GWT RadioButton组

时间:2011-04-07 14:44:54

标签: gwt radio-button uibinder

在我的应用程序中,我有一个小部件面板(所有相同类型的小部件),以及允许用户向面板添加和删除小部件的按钮。每个小部件内部都是GWT RadioButton组。小部件使用GWT UiBinder,因此在我的ui.xml文件中,我给每个RadioButton一个组名,以便它们链接在一起。

但是,当此窗口小部件中的2个或更多窗口小部件添加到面板时,这成为一个问题,因为所有窗口小部件中的所有RadioButton都具有相同的组名称。我希望每个小部件中的每个RadioButton组都独立于其他小部件。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

您可以向widget构造函数引入groupName参数,然后使用@UiFactory构建RadioButtons:

private String groupName;

public MyWidget(String groupName) {
    this.groupName = groupName;
    initWidget(uiBinder.createAndBindUi(this));
}

@UiFactory
RadioButton makeRadioButton() {
    return new RadioButton(groupName);
}
您将在UiBinder xml文件中使用的所有makeRadioButton()自动调用

<g:RadioButton>

现在,您可以动态地使用不同的广播组名称创建每个小部件。