Я пытаюсь отобразить список элементов и, когда пользователь нажимает на элемент, очистить список и отобразить другой список.
Для меня это не лучший дизайн. Выбор будет меняться всякий раз, когда вы нажимаете на элемент или когда вы используете клавиши со стрелками для перемещения вверх или вниз по списку. Я уверен, что пользователям, которым нравится использовать клавиатуру, список не нужно менять каждый раз, когда вы используете клавишу со стрелкой.
Нормальным дизайном будет вызывать действие в списке «двойным щелчком» или когда пользователь «Вводит» с keboard. Это легко реализовать, используя концепцию List Action .
Однако, если вы действительно хотите обновлять список при каждом выборе, я бы использовал код, подобный следующему:
list.removeListSelectionListener( this );
populate(...);
list.addListSelectionListener(this);