Отображение элементов в JList - PullRequest
0 голосов
/ 26 сентября 2018

Я хочу отобразить список из n элементов в JList.3 Пункты списка показаны.Один элемент должен быть выбран и в зависимости от этого выбранного элемента последний выбранный элемент должен быть выбранным.

Например, элементы 1, 2, 3, 4, 5, 6, 7 находятся в списке,По умолчанию первый показанный элемент является выбранным: если выбран элемент 3, отображаются элементы 3, 4, 5 - если выбран элемент 5, отображаются элементы 5, 6, 7.

Что яхочу следующее поведение: выбран пункт 3: показаны пункты 1, 2, 3.Пункт 5 выбран: показаны пункты 3, 4, 5.

Есть идеи, как это можно реализовать?

1 Ответ

0 голосов
/ 26 сентября 2018

Из документации JList:

ListModel может быть передан непосредственно в JList с помощью конструктора или метода setModel.Содержимое не обязательно должно быть статичным - количество элементов и значения элементов могут меняться со временем.

Это можно использовать для изменения значений в списке.А вот как вы слушаете события выбора:

Предпочтительный способ прослушать изменения в выборе списка - добавить ListSelectionListeners непосредственно в JList.Затем JList позаботится о прослушивании модели выбора и уведомит ваших слушателей об изменениях.

Итак, реализуем ListModel и ListSelectionListener, который меняет указанную модель.

...