One approach:
As you read each image into your ListModel you will need to create a "thumbnail version" of the image. This will minimize the amount of memory needed to display the images in your JList.
When you select an image to display in the label you will then need to reread the image so you can display the image at its original size.