У меня возникли проблемы с запуском исполняемого файла jar, в котором есть значок изображения.Экспорт Runnable Jar не работает с ImageIcon
Код работает на eclipse и отображает значок в JFrame. Я добавляю его в JLabel, а затем добавляю JLabel в JFrame. Я экспортирую проект в исполняемый файл Jar и когда я дважды щелкаю банку. Он не работает.
Я тестировал только добавление нормального JLabel на JFrame без кода значка, и он работает, когда я экспортировал и запускал его.
Всякий раз, когда я добавляю следующую строку в код, она испортит исполняемый файл Jar.
JLabel s1 = new JLabel(new ImageIcon(getClass().getResource("/Images/Pattern1.png")));
Я заметил, что это может быть что-то неправильно, когда оно получает ресурсы. My Image Pattern1, хранится в папке «Изображения», и эта папка находится внутри моей папки src проекта. Так что я уверен, что он находится в файле runnable jar, когда я его экспортирую.
Вот мой код
package main;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class MyFrame extends JFrame {
public MyFrame() {
JLabel s1 = new JLabel(new ImageIcon(getClass().getResource("/Images/Pattern1.png")));
this.add(s1);
//JLabel test = new JLabel("Test");
//this.add(test);
}
public static void main(String[] args) {
MyFrame f = new MyFrame();
f.pack();
f.setVisible(true);
}
}
Это то, что мои файлы в моем проекте выглядит.
Благодаря
Не уверен, что это будет иметь значение, но вы пробовали '/ Images/Pattern1.PNG' – MadProgrammer
О, ничего себе. Он работает с .PNG. Это действительно странно. Спасибо друг. – AndroidJava
Java может быть немного «ленивым» с файлами (особенно в Windows), но встроенные ресурсы называются ТОЧНО – MadProgrammer