Я пытаюсь загрузить изображение из исполняемого файла JAR.Загрузить изображения в файле jar
Я следил за информацией от here, затем от here.
Это функция для получения изображений:
public static ImageIcon loadImage(String fileName, Object o) {
BufferedImage buff = null;
try {
buff = ImageIO.read(o.getClass().getResource(fileName));
// Also tried getResourceAsStream
} catch (IOException e) {
e.printStackTrace();
return null;
}
if (buff == null) {
System.out.println("Image Null");
return null;
}
return new ImageIcon(buff);
}
И это, как его называют:
logo = FileConverter.loadImage("/pictures/Logo1.png", this);
JFrame.setIconImage(logo.getImage());
С это быть простой объект. Я также не получаю NullPointerException, если он не замаскирован пользовательским интерфейсом.
Я проверил файл JAR и изображение на:
/pictures/Logo1.png
Этот текущий код работает как в затмении, и когда он был экспортирован в JAR и запустить в терминале, но не работает, когда JAR дважды щелкнут, и в этом случае значок является значком JFrame по умолчанию.
Спасибо, что вам нужна помощь. Вероятно, мне только что-то не хватает.
Он отлично работает на моей стороне, даже если я дважды щелкаю файл 'JAR' или запускаю его через' command prompt'. Я создал [этот проект] (https://www.dropbox.com/s/32txnn42zxwebzi/SwingTest.zip) в eclipse juno, вы тоже можете проверить это :-) –
Что вы думаете, если вы это сделаете - верните новый ImageIcon (getClass() .getResource ("/ pictures/Logo1.png")); 'непосредственно? –