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