Как получить изображение из папки проекта?

Я пытаюсь создать приложение для работы с Java, где у меня есть JLabel где я JLabel изображения. Я получаю изображения из папки, которая находится на любом диске моего ПК. Теперь я хочу получить все изображения из папки проекта, где доступно имя папки изображений.

  F:/>Kiosk | |___src | |___lib | |___koisk | |__main1.java | |__images 

Вот мой код. Как я могу это достичь?

 public class ImageShuffle1 extends JPanel { private List list = new ArrayList(); private List shuffled; private JLabel label = new JLabel(); private int width = 700; private int height = 700; private Timer timer = new Timer(1000, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { update(); } }); public ImageShuffle1() { try { list.add(resizeImage(ImageIO.read(new File("E:\\SOFTWARE\\TrainPIS\\res\\drawable\\c.jpg")))); list.add(resizeImage(ImageIO.read(new File("E:\\SOFTWARE\\TrainPIS\\res\\drawable\\d.jpg")))); list.add(resizeImage(ImageIO.read(new File("E:\\SOFTWARE\\TrainPIS\\res\\drawable\\e.jpg")))); list.add(resizeImage(ImageIO.read(new File("E:\\SOFTWARE\\TrainPIS\\res\\drawable\\f.jpg")))); } catch (IOException e) { e.printStackTrace(); } shuffled = new ArrayList(list); Collections.shuffle(shuffled); timer.start(); } private BufferedImage resizeImage(BufferedImage originalImage) throws IOException { BufferedImage resizedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); Graphics2D g = resizedImage.createGraphics(); g.drawImage(originalImage, 0, 0, width, height, null); g.dispose(); return resizedImage; } private void update() { if (shuffled.isEmpty()) { shuffled = new ArrayList(list); Collections.shuffle(shuffled); } BufferedImage icon = shuffled.remove(0); label.setIcon(new ImageIcon(icon)); } private void display() { JFrame f = new JFrame("ImageShuffle"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.add(this); f.add(label); f.pack(); f.setLocationRelativeTo(null); f.setVisible(true); } public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { @Override public void run() { new ImageShuffle1().display(); } }); } } 

заранее спасибо

Поместите все изображения в папку images , которые есть в вашем проекте, параллельно папке src .

  F:/>Kiosk | |___src | |___lib | |___koisk | |__main1.java | |__images | |__c.jpg |__d.jpg |__e.jpg |__f.jpg 

Используйте этот код

 list.add(resizeImage(ImageIO.read(new File("images\\c.jpg")))); list.add(resizeImage(ImageIO.read(new File("images\\d.jpg")))); list.add(resizeImage(ImageIO.read(new File("images\\e.jpg")))); list.add(resizeImage(ImageIO.read(new File("images\\f.jpg")))); 

— РЕДАКТИРОВАТЬ —

Вы можете попробовать любой

 // Read from same package list.add(resizeImage(ImageIO.read(getClass().getResourceAsStream("c.png")))); // Read from absolute path list.add(resizeImage(ImageIO.read(new File("E:\\SOFTWARE\\TrainPIS\\res\\drawable\\c.png")))); // Read from images folder parallel to src in your project list.add(resizeImage(ImageIO.read(new File("images\\c.jpg")))); 

Повторите все для всех четырех изображений.

  • SwingUtilities.invokeLater () зачем он нужен?
  • Как я могу установить элемент управления в JTableHeader JTable?
  • Как представить двойные значения в виде кругов в 2d-матрице в java
  • Как подключить одну панель к другой
  • Нельзя ли добавить компонент Swing в несколько контейнеров?
  • Java Swing: зачем изменять размер frameworks, чтобы добавить компоненты, добавленные
  • Есть ли свойство «word wrap» для JLabel?
  • JTree: установка пользовательских открываемых / закрытых значков для отдельных групп
  • Обновление JLabel каждые X секунд из ArrayList - Java
  • Перетаскиваемые прямоугольники в Java 2D
  • Swing: кнопки переключения каналов вместе с группой кнопок вместе с соответствующими пунктами меню
  • Давайте будем гением компьютера.