Я пытаюсь загрузить изображение, и он отлично работает в eclipse. Однако при выполнении компиляции он сбрасывается с вводом == null. Метод получения значка здесь:ввод == null при загрузке изображения
public ImageIcon getIcon(String iconName){
InputStream imageStream = this.getClass().getClassLoader().getResourceAsStream("images"+File.separator+iconName);
InputStream t = this.getClass().getClassLoader().getResourceAsStream("images");
Image image = null;
try
{
image = ImageIO.read(imageStream);
return new ImageIcon(image);
}
catch(IOException e){
return null;
}
catch(IllegalArgumentException e){
System.out.println(e.getMessage());
System.out.println("Image folder stream: Im"+t);
System.out.println("Image folder + image stream: "+imageStream);
return null;
}
}
выход консоли:
input == null!
Image folder stream:sun.net.www.protocol.jar.JarURLConnection[email protected]
Image folder + image stream: null
input == null!
Image folder stream:[email protected]e634
Image folder + image stream: null
Я читал другие темы, с той же ошибкой, как и я, но я не был в состоянии решить ее , Любая помощь была бы оценена, спасибо
Попробуйте использовать полный путь к изображению вместо относительного пути. – sreisman
Во-первых, getResourceAsStream() ожидает пути '/' -separeted. Поэтому вы не должны использовать File.separator, но '/'. Во-вторых, каково значение iconName, какова структура вашего проекта, как вы создаете и запускаете свою программу, и где находится значок, расположенный в этой структуре? –
О, ничего себе. заменив File.separator на/fixed. Спасибо за помощь, опубликуйте его как ответ, если хотите. –