2011-06-08 27 views
9

Tengo un jcombobox cuyos valores provienen de una lista. Primero quiero valorar estar en blanco desde la lista desplegable. La forma más me acercaba era poniendo nuevo objeto del tipo de lista en la primera como ejemplo muestra:JComboBox: quiere que la primera entrada sea en blanco entrada

final List<Object> list = getObjectsList(); 
    list.add(new Object()); 

Pero esto da lugar a puntero nulo y si hacer

list.add(null); 

esto resuelve el problema, pero luego le da Yo otro problema en otro lugar con un método de comparación. Así que cualquier trabajo de rondas sería genial, gracias.

+0

en primer lugar, debe aceptar algunas respuestas, ha hecho 7 preguntas, ni siquiera las ha aceptado ... –

+0

¿Y _no ha votado? – trashgod

+1

lo siento, muchachos lo entenderán – daverocks

Respuesta

15

¿No trabaja JComboBox.insertItemAt("", 0); para usted? Necesita agregar la validación para la entrada en blanco también

+2

Sí, eso parece haber solucionado este nullpointer, así sucesivamente, Gracias – daverocks

2

En mi humilde opinión, depende de qué va a hacer con esta "entrada vacía". Algunas ideas:

Intente agregar cadena vacía.

Add object/null AND anula el método getSelectedIndex().

16

También puede establecer el índice seleccionado en -1 después de que se hayan agregado los elementos, pero antes del detector de eventos.

JcomboBox.setSelectedIndex(-1); 

Esta solución funcionará mejor si su JcomboBox utiliza genéricos.

+2

Esta opción me fue muy útil para representar cuando mi modelo tiene un valor no válido, pero no quiero que el usuario ser capaz de ingresar valores inválidos Una vez que el usuario selecciona un elemento, el elemento "inválido" en blanco no puede seleccionarse nuevamente. –

+2

Esta es la manera más elegante de hacer esto. –

Cuestiones relacionadas