Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при работе с ImageIcon под Linux, в Windows работает а в Linux нет:) 
:(
    Опции темы
REDiez
Дата 30.9.2005, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



Приветствую.
Проблема в следующем:
апплет запускается в Windows, но выдает ошибку при запуске в Linux - ругается на следующую строчку:
(приведен отрывок из цикла)
--------------------------------------------

// создаем кнопку (элемент матрицы кнопок)
Array_of_ButtonCtrl[i][j]=new JButton((new ImageIcon(ImageURL)));
где ImageURL описывается как
URL ImageURL=getClass().getResource("images/"+Arrows_pics[i][j]);

----------------------------------------------

в консоли выводится следующее:

java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at PanelControl.DrawButton(ShuraDriver.java:203)

203 - строчка как раз и приведена.)
-------------------------------------------------------

В чем может быть ошибка не понятно.
Под Windows все прекрасно работает, под Linux не хочет.)

PM MAIL   Вверх
LSD
Дата 30.9.2005, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Проблема в том что URL у тебя нулевой, вот и NullPointerException, а вот почему надо разбираться.
Вставь перед URL ImageURL=getClass().getResource("images/"+Arrows_pics[i][j]); печать "images/"+Arrows_pics[i][j] и где у тебя лежат картинки, не в jar-ре случайно?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
REDiez
Дата 3.10.2005, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



Картинки лежат не в jar-ре, а в каталоге, где лежит собственно сам проект.)


PM MAIL   Вверх
batigoal
Дата 3.10.2005, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 7
Всего: 151



Проверь пути, как советовал LSD. Обычно ошибка именно в них.



--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
REDiez
Дата 3.10.2005, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



Понятно, что дело в неправильном пути.)
Странно только, что в Windows все работает нормально, а под Linux как раз и ругается на неправильный путь.)
Может быть подругому пытаться загрузить картинку на кнопку? Если да, то подскажите как?
PM MAIL   Вверх
LSD
Дата 3.10.2005, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Попробуй чуть переписать код:
Код
URL ImageURL=getClass().getResource("./images/"+Arrows_pics[i][j]);


А то что Windows и Linux по разному могут интерпретировать один и тот же путь, так тут ничего странного.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
REDiez
Дата 3.10.2005, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



Не помогает.)
PM MAIL   Вверх
LSD
Дата 3.10.2005, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



А регистр символов проверял? В Linux-е имена регистрозависимые.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
REDiez
Дата 3.10.2005, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



2 LSD: да, проверял, с регистром символов все в порядке все в порядке.
PM MAIL   Вверх
LSD
Дата 3.10.2005, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Ну тогда поподробней: полное имя класса для которго выполняется getClass() и где он лежит, где лежат картинки, и какая директория текущая?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
REDiez
Дата 3.10.2005, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



главный класс проекта: public class ShuraDriver extends JApplet
полное имя класса для которого выполняется getClass(): class PanelControl extends JPanel;
текущая директория, где лежат все файлы проекта: (для Linux) www/
картинки лежат www/images/
PM MAIL   Вверх
LSD
Дата 3.10.2005, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Под полным именем класса я подразумевал имя с именем пакета (наподобие java.lang.Object). Я так понял, пакеты ты не используешь.

Попробуй сформировать URL, так (сработает или нет):
Код
URL ImageURL = new File("images/"+Arrows_pics[i][j]).toURL();
System.out.println("URL: " + URL);



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
REDiez
Дата 3.10.2005, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



все равно не помогает.)
Я запускаю свой проект удаленно (Linux установлен на другом компе), и вот что выводится в консоли:
URL: https://195.89.98.169/~shura/images/left_up.gif
URL: https://195.89.98.169/~shura/images/up.gif
URL: https://195.89.98.169/~shura/images/right_up.gif
URL: https://195.89.98.169/~shura/images/left.gif

PM MAIL   Вверх
LSD
Дата 4.10.2005, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Картинки не открываются.

Я сегодня попробовал под линуксом выполнить:
- создал в текущем каталоге подкаталог img и в него положил файлик test.txt
- выполнил следующий код:
Код
URL ImageURL = new File("img/test.txt").toURL();
System.out.println("URL: " + URL);

все прекрастно сработало и я получил URL файла, так что у тебя проблема не Java. Надо разбираться с путями.

P.S. А картинки можно и на форуме крепить.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
REDiez
Дата 7.10.2005, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



Я нашел ошибку. Все прекрасно работает.)
Ошибка была в том, что имя одного файла начиналось с большой буквы.)
Так что ты был прав по поводу регистров букв.
Спасибо за помощь.
Удачи.
PM MAIL   Вверх
LSD
Дата 7.10.2005, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Да не за что. Заходи еще, будем рады smile


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0558 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.