Sto provando a convalidare dinamicamente un elemento selezionato da un JComboBox e voglio annullare la modifica della selezione nel caso in cui la convalida non sia corretta . C'è un modo per raggiungerlo?Annullamento della modifica della selezione su un JComboBox se la condizione è soddisfatta (es. Convalida sulla selezione in entrata)
private ItemListener itemListener = new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
if (true) CANCEL_CHANGE;
}
}
};
ho cercato di definire una var tiene il vecchio valore, unregistering ascoltatore e selezionare allo stato precedente manualmente, ma poi il problema viene fornito con il primo cambiamento, perché la var non è inizializzato e Theres nessun modo mantenere il valore originale.
Ho anche provato ad utilizzare ActionListener, ma non ho trovato alcun modo per annullare la modifica e non ho bisogno di eventi di attivazione, quindi non c'è alcun cambiamento, ma sto valutando la possibilità di setSelection manualmente, quindi tornerò a ItemListener.
Ma comboImage.setSelectedItem ("") torna alla selezione precedente? Mi sembra che ritorni al valore predefinito o prima, ma controllerò e rispondo a – Whimusical
@ user1352530 cosa restituisce DESELECTED da ItemListener – mKorbel
Non capisco ... Nel mio caso l'aggiunta di setSelectedItem ("") non rende torna allo stato precedente. – Whimusical