Próbuję sprawdzić poprawność dynamicznie elementu wybranego przez JComboBox i chcę anulować zmianę wyboru w przypadku, gdy sprawdzanie poprawności nie jest poprawne . Czy jest jakiś sposób, aby to osiągnąć?Anulowanie zmiany wyboru w JComboBox, jeśli warunek jest spełniony (np. Sprawdzanie poprawności w wybieraniu przychodzącym)
private ItemListener itemListener = new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
if (true) CANCEL_CHANGE;
}
}
};
próbowałem zdefiniować var gospodarstwa starą wartość, wyrejestrowanie słuchacza, a następnie wybierz ręcznie do poprzedniego stanu, ale problem jest z pierwszej zmianie, ponieważ var nie jest inicjowany i there's żaden sposób przytrzymaj oryginalną wartość.
Próbowałem również przy użyciu ActionListener, ale nie znalazłem żadnego sposobu, aby programowo anulować zmianę, i nie potrzebuję zdarzenia ognia, wtedy nie ma zmiany, ale oceniam możliwość ręcznego wyboru metody setSelection, więc powracam do ItemListener.
Ale czy comboImage.setSelectedItem ("") wraca do poprzedniego wyboru? To brzmi dla mnie, gdy powraca do domyślnego lub pierwszego, ale sprawdzę i odpowiem – Whimusical
@ user1352530 what9s zwraca DESELECTED z ItemListener – mKorbel
Nie rozumiem ... W moim przypadku dodanie setSelectedItem ("") nie powoduje wraca do poprzedniego stanu. – Whimusical