Как добавить папку ресурсов в мой проект Java в Eclipse
Я хочу иметь место для хранения моих файлов изображений для использования в моем проекте Java (действительно простой класс, который просто загружает изображение на панель). Я искал везде и не могу найти, как это сделать. Как мне это сделать?
Я попытался добавить новую папку в проект, добавить новую папку класса в проект и добавить новую исходную папку в проект. Что бы я ни делал, я всегда получаюIOException
, Папки всегда говорят, что находятся на пути сборки, поэтому я не уверен, что делать.
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class PracticeFrame extends JFrame{
private static BufferedImage image;
Thread thread;
public PracticeFrame() {
super();
setPreferredSize(new Dimension(640,480));
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public static void main (String[] args) {
PracticeFrame pframe = new PracticeFrame();
try {
image = ImageIO.read(new File("/islands.png"));
} catch (IOException e) {
e.printStackTrace();
}
JPanel panel = new JPanel() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(image,0,0,null);
}
};
panel.setBackground(Color.BLUE);
panel.repaint();
pframe.add(panel);
}
}
РЕДАКТИРОВАТЬ: что-то, что работало для меня, и я понятия не имею, почему, было добавлениеmain/res/
Папка как папка класса, а затем удаляя его. Я бегал пока/main/res/
был частью пути сборки как папка класса, и он все еще не работал. Когда я добавил его, у меня появилось всплывающее окно, которое сообщило мне что-то об исключенных фильтрах. Но когда я удалил папку из библиотек в пути сборки и изменил путь к файлу:
image = ImageIO.read(new File("src/main/res/islands.png"));
Я по крайней мере перестал получатьIOException
выброшены. Я не должен добавлять изображение на панель правильно, потому что оно не отображается, но, по крайней мере, он нашел файл (я думаю).