Loading...
Important Notice - Forums is archived

To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.

Product icon
TUTORIAL

Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.

error en optionGroup al usar setMultiSelect()

Rubén Espinoza
7 years ago Jan 01, 2016 3:40am
Alejandro Duarte
7 years ago Jan 05, 2016 11:37am

Hola Rubén,

Ten en cuenta que:
- 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.

Rubén Espinoza
7 years ago Jan 05, 2016 11:27pm
Alejandro Duarte
7 years ago Jan 06, 2016 11:08am

Tienes que comparar los elementos dentro de la colección:

List<String> valoresValidos = Arrays.asList("java", "c++");
boolean valido = valoresValidos.size() == valoresSeleccionados.size()
        && valoresSeleccionados.containsAll(valoresValidos);

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).

Rubén Espinoza
7 years ago Jan 07, 2016 3:12am