Экспорт изображений с моим файлом JAR - PullRequest
1 голос
/ 17 марта 2012

Я использую Eclipse и хочу экспортировать некоторые изображения в исходную папку "img" вместе с моим .jar, чтобы они отображались в JAR.

Моя иерархия:

Проект> ЦСИ> Пакет> FILE.java

Тогда в проекте есть еще одна исходная папка с именем:

IMG> image.png

В настоящее время я ссылаюсь на изображения, используя:

lblNewLabel_1.setIcon(new ImageIcon("img/logo1.png"));

И это прекрасно работает, пока я не экспортирую его.

Я экспортирую его как файл JAR Runnable с отметкой Extract required libraries, так как средний файл не позволяет открывать .jar. Извлечение позволяет открыть, но изображения не отображаются.

1 Ответ

1 голос
/ 17 марта 2012

Путь не совпадает при загрузке данных внутри JAR.

Вы можете использовать этот метод для загрузки изображения при запуске из JAR:

/**
  * Create an instance of ImageIcon with the given path
  * @param path  String - path of the image
  * @return  ImageIcon - ImageIcon made with the image at the given path
  */
private ImageIcon createImageIcon(String path) {
    if (path != null) {
        URL tmp = getClass().getResource(path.replace("\\", "/"));
        if(tmp!=null)
            return new ImageIcon(tmp);
        else
            return new ImageIcon();
    } else {
        System.err.println("Couldn't find file: " + path);
        return null;
    }
}
...