valor obtener llenar item eventos elementos datos agregar java swing jcombobox

java - obtener - jcombobox model



Cambiar el contenido de JComboBox (5)

Me gustaría cambiar el contenido de la lista de un JComboBox (como agregar otra lista en lugar de una anterior). ¿Hay alguna manera en que yo pueda hacer eso? ¡Gracias por adelantado!


La biblioteca Glazed Lists es muy útil cuando se quiere conectar cualquier clase de lista mutable a un control GUI. Es una biblioteca grande que puede no ser apropiada para su proyecto, pero eche un vistazo a sus screencasts y juzgue por usted mismo. Es compatible con muchas cosas relacionadas, como el filtrado y la finalización automática, y puede ahorrarle mucho trabajo manual.



Si desea poder agregar y eliminar elementos de un cuadro combinado existente en tiempo de ejecución, el modelo de datos subyacente para el cuadro combinado debe ser un MutableComboBoxModel

Busque en Google esa clase para obtener información sobre la interfaz y ejemplos de cómo usarla.

Tenga en cuenta que si desea que el usuario escriba nuevos valores, también debe hacer que el cuadro sea editable.

Puede encontrar algunos enlaces a ejemplos aquí .


También puede reemplazar el modelo en su totalidad con setModel ().

Pero después de escribir cada vez más interfaces de usuario, me resulta más útil escribir un ComboBoxModel personalizado para ajustar la estructura de datos que presenta ComboBox. Esto es más unidad de prueba y más limpio, en mi humilde opinión.


Encontré este hilo y se me ocurrió una solución rápida (y probablemente sucia):

oldComboBox.setModel(new JComboBox<>(new_items).getModel());