Я прочитал документы, как указывающие на то, что ListSelectionEvent
только говорит вам, что выбор между firstIndex
и lastIndex
был изменен, но не в каком направлении.Как только вы узнаете, что произошло изменение (что ListSelectionEvent
был запущен), вы можете просто прочитать текущее выбранное значение из JList
:
selected_row = ((JList) e.getSource()).getSelectedIndex();
. Вы захотите проверить selected_row
является неотрицательным, если пользовательская операция просто отменяет выбор единственной выбранной опции.