Como no existe un VetoableChangeListener para el cambio de un item en un JComboBox (que sería algo así como un VetoableItemListener), se puede usar la siguiente técnica:
Escuchar el evento itemStateChanged en un ItemListener.
Cuando el stateChange() del evento sea ItemEvent.DESELECTED, guardar el item deseleccionado (mediante el método getItem() del evento) en .
Cuando el stateChange() del evento sea ItemEvent.SELECTED, y se desea vetar el cambio, ejecutar:
theJComboBox.setSelectedItem(deselectedItem);
———————-
There is no exist a VetoableChangeListener class to allow veto on item change on a JComboBox -it would be a class named like VetoableItemListener. However, you can use the next technique:
Hear itemStateChanged event on a ItemListener instance.
When event.getStateChange() == ItemEvent.DESELECTED, save the deselected item (event.getItem()) .
When event.getStateChange() == ItemEvent.SELECTED, and you wish to veto the change, do:
theJComboBox.setSelectedItem(deselectedItem);