2015-06-23 3 views
1

Я пытаюсь экспортировать свой java-файл в качестве исполняемого файла .jar, используя Eclipse. Процедура, которую я делаю это:Экспорт java-файла в качестве runnable .jar

Файл> Экспорт> Java> Runnable .jar, и мои следующие опции: http://gyazo.com/88ad22e9382e964e47a1a21200ff0f4b

Моя проблема, когда я запускаю файл в Eclipse, любые импортированные фотографии (например, логотип для приложения GUI), но он не отображается в экспортированном файле .jar.

Ie:

http://gyazo.com/4092e8756f4054ce00429d50c33c22af - в Затмении http://gyazo.com/7309d84f64832b22560ef023c9349a52 - запустив файл .jar

Мои изображения находятся в папке под названием filesrc, который находится в той же папке, что и мой проект, как можно показать здесь:

http://gyazo.com/20f8191ee173e06638811c237f985c6f

Что я делаю неправильно? Как я могу сделать эти изображения в файле .jar?

Благодаря

+1

Файл Jar является почтовым файлом, вы можете распаковать, чтобы проверить, если изображения были включены. Я предполагаю, что вы не загружаете изображения, используя 'Class # getResource', но рассматриваете их как простые файлы (и используя' src' в ссылке пути) – MadProgrammer

+0

'code imgLabel = new JLabel (новый ImageIcon (" filesrc//mainlogo.png"));activityLevelHelp = новый JLabel (новый ImageIcon ("filesrc // question-mark.png")); ' Вот так я имею в виду их. Я не думаю, что загрузил изображения, используя Class # getResource. Как мне это сделать? Когда я разархивирую файлы, mainlogo.png есть, но у меня также есть много других бесполезных файлов, таких как разные .java-файлы в том же проекте. Это нормально? Что делать, если я хочу экспортировать определенный пакет и папку filesrc? – user3186023

+0

Скопирован ли 'filesrc' в файл jar? Если нет, скопируйте файл 'filesrc' с файлом .jar? Где в файле .jar находится 'mainlogo.png'? Он находится в каталоге 'filesrc'? 'ImageIcon (String)' ожидает, что 'String' будет представлять файл на диске, когда файлы включены в файл .jar, они больше не являются« файлами » – MadProgrammer

ответ

0

Убедитесь, что экспортировали .jar файл содержит папку с изображениями. Поэтому давайте предположим, что ваши изображения находятся в папке с именем \ images в корне вашего JAR-файла. В коде, вы должны изменить способ ваши получают эти изображения: Toolkit.getDefaultToolkit().getImage(getClass().getResource("/images/plus.png"));

+0

Лично мы все должны просто прекратить использование 'Toolkit.getImage' и' ImageIcon', поскольку они не загружают физическую загрузку изображения в фоновый режим и не дают никакой обратной связи, когда сбой загрузки изображения (без необходимости целого bunch more code) и поддерживает только ограниченное подмножество форматов файлов. 'ImageIO', личный, лучший API, просто говорит – MadProgrammer

+0

Извините за этот глупый вопрос - это корень моего JAR-файла только в папке src? – user3186023

+0

@ Ftahir192 Не обязательно, это будет зависеть от того, как создается Jar и может включать в себя другие ресурсы. – MadProgrammer

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