como les va? estoy usando un ejemplo que me pasaron de este gran libro Vaadin 7 UI Design By Example Beginner’s Guide.pdf
by Alejandro Duarte!
y no entiendo como podria escojer 2 opciones cuando selecciono 2 cajas de verificacion, me dicen que haga un cast…que el metodo setMultiSelect(true), este al habilitarse retorna un tipo
Collection
:s
//este array contiene las opciones del option group
ArrayList<String> preguntas = new ArrayList<String>();
preguntas.add("java");
preguntas.add("c++");//correcto----------
preguntas.add("c#");
preguntas.add("php");//correcto -- escojes de estas 2 opciones.
//option group
final OptionGroup option = new OptionGroup("Escoje algunos: ",preguntas);
vLayout.addComponents(txt,ll,txtArea,richText,labelRich,option);
setContent(vLayout);
option.addValueChangeListener(new ValueChangeListener() {
@Override
public void valueChange(ValueChangeEvent event) {
String valor = event.getProperty().getValue().toString();
Notification.show("correcto"+valor);
}
});
option.setMultiSelect(true);
option.setImmediate(true);
Si el
OptionGroup
NO está en modo multi-select,
getValue() retorna el valor seleccionado.
Si el
OptionGroup está en modo multi-select,
getValue() retorna una colección con los valores seleccionados.
En tu caso
option es multi-select, por lo que
getValue() retornará una collección. Esta collección contiene los elementos seleccionados. Podrías hacer algo como lo siguiente (Java 8):
...
Set valoresSeleccionados = (Set) event.getProperty().getValue();
String mensaje = String.join(", ", valoresSeleccionados);
Notification.show(mensaje);
...
Espero esto ayude.
cual podria ser la manera correcta o ideal para validar solo 2 checkBox correctos? con .equals() en ese caso? o algo como
if("java".equals(Object.getValue() && "c++".equals.(Object.getValue())) { } ?
y otra consulta para saber que setMultiSelected() me retorna un java.util.Set; ,exactamente como se eso? con el debug en eclipse?
Para comprobar el tipo retornado por
getValue() puedes poner un breakpoint e inspeccionar la variable
valoresSeleccionados . En Internet puedes encontrar muchos tutoriales sobre el debugger de Eclipse (
este es uno de ellos ).