В основном я пытаюсь загрузить некоторые данные изображения в java как объект ImageIcon. Первоначально я попытался просто сделать ImageIcon image = new ImageIcon (имя файла), но это сделало так, чтобы изображения не загружались при экспорте в файл JAR. Новый способ, которым я это сделал, выглядит так:
private static ImageIcon getImage(String filename) {
try {
URL url = PacMan.class.getResource(filename);
Image image = ImageIO.read(url);
return new ImageIcon(image);
}
catch (IOException e) {
e.printStackTrace();
}
return null;
}
Ошибка в том, что PacMan.class.getResource (filename) возвращает ноль. Моя директория такова, что мой класс PacMan находится в src / Model / PacMan, и мои изображения имеют следующие пути к файлам:
src/Model/PacMan_Images/PacMan_EAST,
src/Model/PacMan_Images/PacMan_SOUTH,
src/Model/PacMan_Images/PacMan_WEST,
src/Model/PacMan_Images/PacMan_NORTH.
Кроме того, я попытался вернуться к использованию нового ImageIcon (filepath), и изображение загружается нормально, поэтому я знаю, что изображение существует в моем каталоге. Кто-нибудь знает в чем может быть проблема?
Изменить: Моя ошибка в том, что я получаю исключение IllegalArgumentException, потому что я передаю ноль в качестве параметра для ImageIO.read (url), потому что URL-это ноль.