Я использовал Jpanel с GridLayout в JScrollPane, но результат не тот, который я хочу.
A GridLayout
позволит вам отображать компоненты по вертикали.Когда вы создаете панель, вы просто используете:
JPanel imagePanel = new JPanel( new GridLayout(0, 1) );
Это позволит изменить размеры всех изображений до одного размера.
Другой вариант - использовать вертикальную BoxLayout
.В этом случае вы можете использовать:
Box imagePanel = Box.createVerticalBox();
В этом случае изображения сохранят свой предпочтительный размер.
В обоих случаях вы добавляете на панель панель прокрутки, которая добавляется к вашему.frame:
frame.add( new JScrollPane( imagePanel ) );
Прочтите руководство по Swing на Менеджеры макетов для получения дополнительной информации и рабочих примеров каждого макета.
Редактирование:
после перечисления изображений мне нужно выбрать одно из них,
Хорошо, где было это требование в вашем первоначальном вопросе?Полное требование должно быть определено в вопросе, чтобы вся информация была в одном месте, чтобы все могли ее видеть.
Поэтому я бы посоветовал вам использовать JList для отображения Icon.Прочитайте раздел из учебника по Swing на Как использовать списки для получения дополнительной информации.