использовать что-то вроде
..getResource("/images/a" + randomNumber + ".jpg")
Genderate случайного числа для randomNumber
переменных. Пока все ваши изображения имеют один и тот же префикс и только другой цифровой суффикс, вы должны быть в порядке.
Если они различны, то хранить каждую строку путь в массив строк и случайное число будет быть индексом
getResource("/images/" + pathArray[randomNumber])
Пример
String[] imageNames {"hello.jpg", "world.png", "!.gif"};
Random rand = rand = new Random();
....
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
int index = rand.nextInt(3);
Image im=new ImageIcon(this.getClass()
.getResource("/images/" + imageNames[index])).getImage();
ImageIcon iconLogo = new ImageIcon(im);
jLabel2.setIcon(iconLogo);
}
UPDATE Комментарий к ОП
«О! Если папка содержит 100 снимков, кажется, очень difficult.My проект нуждается в большем количестве изображений»
затем загружать поданные имена в структуру данных через File API
.. file.list()
< - вернуть String[]
File file = new File("src/images");
String[] imageNames = file.list();
...
int index = rand.nextInt(imagNames.length);
пока все это файлы, а не каталоги, это должно работать нормально.
UPDATE
Как описано ниже в комментариях, его было отмечено, что выше ответ, вероятно, не работает во время развертывания. Вот @ предложение AndrewThompson в качестве исправления проблемы файла
Лучшего способом я могу думать:
- Создать небольшой вспомогательный класс, который создает список изображений.
- Напишите этот список
File
, по одному имени в строке.
- Включите файл в качестве ресурса (самое простое место, где находятся изображения).
- Используйте
getResource(String)
, чтобы получить URL
.
- Прочтите его обратно во время работы.
Проверьте ['ImageViewer'] (http://stackoverflow.com/a/13463684/418556) советы по отображению нескольких изображений. 1) Для лучшей помощи раньше, отправьте сообщение [MCVE] (http://stackoverflow.com/help/mcve). 2) Одним из способов получения изображения (-ов) для примера является горячая ссылка на изображения, видимые в [этом ответе] (http://stackoverflow.com/a/19209651/418556) (другой способ показан в разделе ' ImageViewer'). –