Возможно, это не тот ответ, который вы ищете, но мне интересно, если ваше лучшее решение - просто не добавлять сотни элементов. Пользователь не сможет или не захочет прокрутить столько элементов в JList, и поэтому, возможно, ваш самый умный шаг - ограничить количество элементов, добавляемых к разумному числу, скажем, 20 или около того.
Мне кажется, что это похоже на текстовый процессор, отображающий документ на экране, или другие немедленные компоненты для поиска, которые я использовал в прошлом. Если документ большой, часто все это не загружается в память, а как-то кешируется на диск. Если у вас нет выбора, кроме как загрузить много элементов, то, возможно, вы можете взять эту часть модели в автономном режиме, показать модальное диалоговое окно ожидания, загрузить элементы из EDT, а затем вернуть модель в оперативный режим, а затем выпуск модального диалога.