2012-03-17 4 views
1

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

Моей иерархия является:

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

Затем в проекте еще одна исходной папки под названием:

IMG> image.png

Я в настоящее время ссылается на изображения:

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

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

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

ответ

1

Путь не совпадает с загрузкой данных внутри 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; 
    } 
} 
+0

Когда я сделать это, то называть его так: lblNewLabel_1.setIcon (createImageIcon («logo1.png»)); Он не отображает изображение – user1176922

+0

Независимо от того, какой путь я использую, изображение отказывается показывать. – user1176922

+0

Ofc, изображение не находится в том же каталоге, что и ваш java-файл. Если ваш «img» dir находится на том же месте, что и ваш «src». Я думаю, вы можете попробовать ../../img/logo1.png. Я не на 100% уверен, что вы знаете свою иерархию файлов лучше меня;) –

Смежные вопросы