Когда я использую getClass().getResource(ACCEPT_PNG) для загрузки ImageIcon, он хорошо работает на моем локальном компьютере. Когда мой класс встроен со своим ресурсом в JAR, для приложения Java Web Start ресурс не может быть найден, и тот же код возвращает значение null...
Любая идея?
/** Path to a PNG ressource. */
private static final String ACCEPT_PNG = "accept.png";
private static ImageIcon acceptPngIcon = null;
private ImageIcon getAcceptPngIcon() {
if (acceptPngIcon == null) {
acceptPngIcon = new ImageIcon(getClass().getResource(ACCEPT_PNG));
}
return acceptPngIcon;
}
3
Eric V
23 Мар 2011 в 18:20
1 ответ
У меня была та же проблема, и я решил ее, следуя подходу в Oracle Java Web Start учебник: используйте загрузчик классов для получения ресурса вместо самого класса:
getClass().getClassLoader().getResource(ACCEPT_PNG);
// works both locally and via Web Start
getClass().getResource(ACCEPT_PNG);
// only works locally; returns null for any path via Web Start
1
driu
12 Ноя 2015 в 14:05
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.
.png
и.PNG
, но когда вы загружаетесь с помощью Java Web Start, URL-адреса деликатный случай. Итак, убедитесь, что вы вводите свои ресурсы точно, регистр и все такое.