Ссылка на изображение в файле .jar - PullRequest
0 голосов
/ 15 июня 2011

У меня реальная проблема со ссылкой на простое изображение в файле jar.

У меня есть пакет au.com.mysite.pdf, который содержит файлы Java У меня есть пакет au.com.mysite.pdf.res, который содержит изображения

В моем Java-файле я ссылаюсь на изображение, подобное этому getClass().getResource("/au/com/mysite/pdf/res/logo.png").getPath()

, но изображение никогда не может быть найдено.В дебютере это выглядит так: /C:/Documents%20and%20Settings/myname/workspace/gnupdf/bin/au/com/mysite/pdf/res/logo.png

Что с начальным '/' и разделители не подходят для Windows.

Я проверил этот путь, и он не работает в MSExplorer.

ОБНОВЛЕНИЕ

Хорошо, это работает в некоторой степени, за исключением того, что путь к изображению не является правильным, /C:/Documents%20and%20Settings/myname/workspace/gnupdf/bin/au/com/mysite/pdf/res/logo.png не является ссылкой на файл, что с косой чертой и% 20 пробелов?Как я могу преобразовать это в URL-адрес файла вместо веб-URL?

Ответы [ 4 ]

3 голосов
/ 15 июня 2011

Я не могу сказать вам, почему это не работает, но когда я ссылаюсь на изображения, которые я сохранил в банке, обычно для изображений значков меню, я использую:

ImageIcon image = new ImageIcon(this.getClass().getResource("/package/sub_package/image_name.png"));

Это всегда работало для меня.

1 голос
/ 15 июня 2011

Если изображение находится в банке, getResource не собирается возвращать ничего полезного. getResourceAsStream - это, вероятно, то, что вы хотите.

0 голосов
/ 15 июня 2011

обновление

Я понял, в чем может быть ваша проблема.Вы пытаетесь найти путь, но это не обязательно, потому что в любом случае вы не сможете сослаться на него.

Вместо этого сделайте это:

BufferedImage image = ImageIO.read(this.getClass().getResource("images/image01.png)); 

И тогда вы сможете использовать свое изображение в программе Java.

См. Это, например:

Как мне перечислить файлы в файле JAR?

0 голосов
/ 15 июня 2011

Использование getResource из .jar будет работать. Пара вещей: Каков класс-путь вашего манифеста .jar-файла? Файлы внутри .jar чувствительны к регистру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...