2011-04-07 9 views
5

En mi aplicación tengo un panel de widgets (el mismo tipo de widget) y botones que permiten al usuario agregar y eliminar widgets al panel. Dentro de cada uno de los widgets hay un grupo GWT RadioButton. El widget usa GWT UiBinder, por lo que en mi archivo ui.xml le doy a cada RadioButton un nombre de grupo para que se vinculen entre sí.Agregando dinámicamente múltiples grupos GWT RadioButton

Esto se convierte en un problema, sin embargo, cuando se agregan 2 o más de este widget al panel, porque todos los RadioButtons en todos los widgets tienen el mismo nombre de grupo. Quiero que cada grupo RadioButton en cada uno de los widgets sea independiente de los demás. ¿Cómo puedo hacer esto?

Respuesta

4

Usted puede introducir un parámetro de nombre de grupo a su constructor de control, y luego usar @UiFactory para construir las RadioButtons:

private String groupName; 

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

@UiFactory 
RadioButton makeRadioButton() { 
    return new RadioButton(groupName); 
} 

makeRadioButton() se llamará automáticamente para todas sus <g:RadioButton> s utiliza en el archivo XML UiBinder.

Ahora puede crear cada uno de estos widgets con un nombre de grupo de radio diferente de forma dinámica.

Cuestiones relacionadas