在我的应用程序中,我有一个小部件面板(所有相同类型的小部件),以及允许用户向面板添加和删除小部件的按钮。每个小部件内部都是GWT RadioButton组。小部件使用GWT UiBinder,因此在我的ui.xml文件中,我给每个RadioButton一个组名,以便它们链接在一起。
但是,当此窗口小部件中的2个或更多窗口小部件添加到面板时,这成为一个问题,因为所有窗口小部件中的所有RadioButton都具有相同的组名称。我希望每个小部件中的每个RadioButton组都独立于其他小部件。我怎么能这样做?
答案 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>
。
现在,您可以动态地使用不同的广播组名称创建每个小部件。