Недавно я столкнулся с ошибкой в java, когда JList запускает метод valueChanged() дважды при изменении значения с помощью мыши и только один раз при изменении значения с помощью клавиатуры. Я только что нашел ошибку относительно этого на веб-сайте Oracle (очевидно, ошибка более чем двенадцать лет), и мне интересно, может ли кто-нибудь объяснить мне, почему Oracle решила, что это не дефект (не говоря уже о том, что getValueIsAdjusting() возвращает false, когда используется клавиатура).
Для тех, у кого есть эта проблема, я обнаружил, что простая проверка того, когда getValueIsAdjusting()
является ложным, а затем запуск остальной части моего метода решит проблему.