Vaadin ComboBox invisible cuando es de solo lectura

¿Por qué un ComboBox de Vaadin se vuelve invisible al hacer setReadOnly (true)?

Imágenes

normal Cuadro combinado normal - visible

invisible ComboBox con setReadOnly (verdadero) - invisible

El código fuente

import java.util.List;   
import com.vaadin.ui.ComboBox;

public class PropertyComboBox extends ComboBox
{
    public PropertyComboBox(List<String> properties)
    {
        super();
        for(String property: properties) {this.addItem(property);}
        this.setImmediate(true);
        this.setMultiSelect(false);

        this.setNewItemsAllowed(false);
        this.setInputPrompt("Property");
        this.setReadOnly(true);
    }
}

preguntado el 03 de mayo de 12 a las 16:05

3 Respuestas

Si está intentando crear un cuadro combinado en el que el usuario no puede escribir nada, consulte el NativeSelect componente.

Desde el documento API:

Esta es una simple selección desplegable sin, por ejemplo, soporte para selección múltiple, elementos nuevos, carga diferida y otras características avanzadas. A veces, la selección "nativa" sin todas las campanas y silbidos del ComboBox es una mejor opción.

Si no necesita estas características, definitivamente debería considerar usar NativeSelect.

contestado el 04 de mayo de 12 a las 13:05

Todos los componentes se vuelven "invisibles" cuando los configura en solo lectura. No pude encontrar ninguna razón para eso y también me preguntaba.

Mi sugerencia (un poco rara): deshabilite los componentes y cambie su apariencia deshabilitada dentro de CSS.

contestado el 03 de mayo de 12 a las 16:05

Nexus tiene razón, el componente se vuelve invisible cuando se establece en solo lectura. De hecho, la configuración de solo lectura agrega el nombre de clase css "v-readonly" y el CSS hace el resto.

Saludos.

contestado el 04 de mayo de 12 a las 01:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.