Изменить выбор JComboBox на основании подтверждения пользователя

Есть ли способ сохранить пользователя на старой выбранной опции из JComboBox. Есть одно подтверждение, которое я спрашиваю у пользователя, когда он / она не хочет изменять выбранный элемент JComboBox, если пользователь говорит "да", то только я хочу сохранить новый выбор, иначе установить старый выбранный элемент.

Есть ли способ ограничить выбор JComboBox? я использую ItemListener а также MouseListener для достижения вышеуказанной функциональности.

1 ответ

Решение

ItemListener как правило, запускает два события. Первый DSESELECTED событие (старое значение) и SELECTED событие (новое значение).

Вы можете отслеживать эти изменения, записывая DESELECTED ценность, как они происходят

В качестве теста вы можете попробовать что-то вроде этого...

public void itemStateChanged(ItemEvent e) {
    if (e.getStateChange() == ItemEvent.SELECTED) {
        System.out.println("Selected :" + e.getItem());
    } else if (e.getStateChange() == ItemEvent.DESELECTED) {
        System.out.println("Deselected :" + e.getItem());
    }
}

Если пользователь выбирает "нет" для изменения, вы можете восстановить DESELECTED значение...

Другие вопросы по тегам