Форум программистов, компьютерный форум, киберфорум
Java: IDE, инструментарий
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
3 / 3 / 0
Регистрация: 28.09.2012
Сообщений: 86

Как выхватить iconimage на eclipse

11.05.2013, 11:31. Показов 3021. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
У меня в проекте при создании фрейма, в ее конструкторе есть
setIconImage(Toolkit.getDefaultToolkit() .getImage("C:\\Users\\it9\\Desktop\\icon s\\1368198667_Card_file.png"));

Но когда я создаю runnable jar file и в bat-файле запускаю этот jar, у меня выходит ошибка
C:\Users\it9\Documents\EclipseProjects\J ars\ClientAccountRest>java -jar ClientAc
countRest.jar
Uncaught error fetching image:
java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnecti on(Unknown Source)
at sun.awt.image.URLImageSource.getDecoder( Unknown Source)
at sun.awt.image.InputStreamImageSource.doF etch(Unknown Source)
at sun.awt.image.ImageFetcher.fetchloop(Unk nown Source)
at sun.awt.image.ImageFetcher.run(Unknown Source)

Что сделать, чтобы иконка вышла.
Runnable jar создаю
Copy required libraries into a sub-folder next to the generated JAR
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.05.2013, 11:31
Ответы с готовыми решениями:

Как сохранить консольную прогу в Eclipse, чтобы запускать без Eclipse
Как сохранить написанное консольное приложение в Eclipse так, чтобы я мог запустить его без Eclipse.

Eclipse. Какое сочетание клавиш или как открыть только что закрытый в Eclipse файл?
Я уже задавал подобный вопрос и мне дали на него ответ Alt+стрелка влево. Решение довольно-таки практичное, но случаются ситуации, когда я...

Std::regexp (ECMAScript) выхватить из строки ip
Собственно сабж. Написал такую штукенцию: std::string line2 = "192.168.1.5"; #define IP_OCTET "25|2]|1]{2}|]{1,2}" #define...

17
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
11.05.2013, 11:41
Цитата Сообщение от Шерлок_Холмс Посмотреть сообщение
Что сделать, чтобы иконка вышла.
положить иконку внутрь jar файла в папку icons и доставать

Java
1
2
URL url = ClassLoader.getSystemClassLoader().getResource("icons/1368198667_Card_file.png");
Icon icon = new ImageIcon(url);
0
3 / 3 / 0
Регистрация: 28.09.2012
Сообщений: 86
12.05.2013, 10:23  [ТС]
Сделал вот так
Java
1
2
3
URL imageUrl = ClassLoader.getSystemClassLoader().getResource("icons/1368198667_Card_file.png");
        Image bugImage = ImageIO.read(imageUrl);            
        setIconImage(bugImage);
Но после экспорта в jar и при запуске java -jar Test.jar выходит ошибка
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
java.lang.IllegalArgumentException: input == null!
        at javax.imageio.ImageIO.read(Unknown Source)
        at Test.TestFrame.<init>(TestFrame.java:50)
        at Test.TestFrame$1.run(TestFrame.java:29)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
12.05.2013, 12:04
я забыл про слеш в начале - извини

Java
1
getResource("/icons/1368198667_Card_file.png");
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package swinge;
 
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
 
/**
 *
 * @author mutagen
 */
public class ShowImage  {
 
    public ShowImage() {
        JFrame jf = new JFrame();
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        ImageIcon img = new ImageIcon(getClass().getResource("/images/img.jpg"));
        JLabel panel = new ImgPanel(img);
        jf.getContentPane().add(panel);
        jf.pack();
        jf.setVisible(true);
    }
 
    static class ImgPanel extends JLabel {
 
        public ImgPanel(ImageIcon img) {
            if (img != null) {
                this.setIcon(img);
            }
        }
    }
 
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new ShowImage();
            }
        });
    }
}
распакуйте архив, загляните внутрь
и запускайте
Bash
1
java -cp img.jar swinge.ShowImage
Вложения
Тип файла: 7z img.7z (32.2 Кб, 7 просмотров)
0
3 / 3 / 0
Регистрация: 28.09.2012
Сообщений: 86
12.05.2013, 12:11  [ТС]
Можете этот проект на Eclipse скинуть?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
12.05.2013, 12:17
Цитата Сообщение от Шерлок_Холмс Посмотреть сообщение
Можете этот проект на Eclipse скинуть?
он не на эклипсе я его руками накидал ) и жарник тоже
0
3 / 3 / 0
Регистрация: 28.09.2012
Сообщений: 86
12.05.2013, 12:24  [ТС]
Можете посмотреть это?
Вложения
Тип файла: rar IconTestingProject.rar (26.3 Кб, 5 просмотров)
0
3 / 3 / 0
Регистрация: 28.09.2012
Сообщений: 86
12.05.2013, 12:24  [ТС]
Здесь у меня ошибку выдает
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(Unknown Source)
    at Test.TestFrame.<init>(TestFrame.java:55)
    at Test.TestFrame$1.run(TestFrame.java:29)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
12.05.2013, 12:32
как вы делаете jar файл?
0
3 / 3 / 0
Регистрация: 28.09.2012
Сообщений: 86
12.05.2013, 12:39  [ТС]
У меня до jar выходит эта ошибка.
Посмотрите, пожалуйста, правильно ли я создал папки и правильно ли я к ним обращаюсь?

Добавлено через 1 минуту
Папку с иконками, к которым я обращаюсь. Я сделал resources source-folder, а в нем есть папка icons, в ней и находятся все иконки.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
12.05.2013, 12:48
вот так правильно
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    public TestFrame() throws IOException {
    
        ImageIcon icon = new ImageIcon(getClass().getResource("/icons/1368198667_Card_file.png"));
 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        contentPane.setLayout(new BorderLayout(0, 0));
        
        JLabel label = new JLabel();
        label.setIcon(icon);
        contentPane.add(label);
        
        setContentPane(contentPane);
    }
Добавлено через 3 минуты
когда будете делать jar надо чтобы структура его была такая

Bash
1
2
3
/META-INF
/icons
/Test
в Test ваш класс(классы)
в icons картинки

META-INF создаётся сам автоматом
0
3 / 3 / 0
Регистрация: 28.09.2012
Сообщений: 86
12.05.2013, 12:50  [ТС]
Та же самая ошибка

Добавлено через 12 секунд


Добавлено через 36 секунд
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
12.05.2013, 12:52
Цитата Сообщение от Шерлок_Холмс Посмотреть сообщение
Та же самая ошибка
я исправил ваш проект и запустил у себя, всё работает

похоже дело в том что вам ещё рано использовать IDE,
возьмите блокнот с подсветкой синтаксиса и пишите на нём
заодно разберётесь что такое класспас как компилить классы,
паковать jar файл и запускать его
вот тут всё по порядку на русском
0
3 / 3 / 0
Регистрация: 28.09.2012
Сообщений: 86
12.05.2013, 12:57  [ТС]
Извините, за настырность, скиньте, пожалуйста, мой проект, который Вы исправили.
Спасибо.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
12.05.2013, 13:01
я уже все изменения вам написал тут

вы что думаете есть какая то хитрая магия которую я вам не сказал ?
0
3 / 3 / 0
Регистрация: 28.09.2012
Сообщений: 86
12.05.2013, 14:09  [ТС]
Один вопрос:
icons тоже должен находиться в src?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
12.05.2013, 14:49
Цитата Сообщение от Шерлок_Холмс Посмотреть сообщение
icons тоже должен находиться в src?
в случае запуска из jar файла он должен быть в корне,
в случае простого запуска он должен быть в класспас
при этом неважно где он лежит физически, главное чтобы в класспас находился путь который может считаться корнем для icons
(есть ещё трюки, но для вас это сейчас только путаница)

по простому класспас это как бы список корневых директорий по которому шарится жвм и ищет там классы и ресурсы по пути или по пакеджу (который тоже является путём и точки в нём для того чтобы объединить путь под разные ОС у которых разные разделители фолдеров слеш налево или слеш направо)
читайте ликбез и экспериментируйте с тем что поняли это даже лучше чем я пытаюсь объяснять, так как у нас могут отличаться трактовки некоторых терминов, а в случае экспериментов вы получите гарантированное подтверждение если всё верно поняли

пример
Java
1
ImageIcon icon = new ImageIcon(getClass().getResource("/icons/1368198667_Card_file.png"));
на самом деле не является 100% верным, но ЖВМ делает вам скидки
100% идеологически верный это
Java
1
ImageIcon icon = new ImageIcon(getClass().getResource(System.getProperty("file.separator") +"icons" + System.getProperty("file.separator") + "1368198667_Card_file.png"));
но жвм эту фишку выполнит за вас
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
14.05.2013, 12:07
Цитата Сообщение от Шерлок_Холмс Посмотреть сообщение
Один вопрос:
icons тоже должен находиться в src?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.05.2013, 12:07
Помогаю со студенческими работами здесь

Выхватить регуляркой айди ролика и поместить его в класс
&lt;div class=&quot;player&quot;&gt; &lt;div id=&quot;video&quot; class=&quot;video-&quot;&gt;&lt;/div&gt; &lt;/div&gt; &lt;object width=&quot;400.000&quot; height=&quot;280.000&quot;...

Eclipse + AVR Eclipse + WINAVR
Начал изучать программирование AVR на Cи, для разработки проектов выбрал istypsi в связке с WinAVR. Установил, работает нормально, вроде...

Как открыть как проект war файл в eclipse idea netbeans
Как открыть как проект war файл в eclipse, idea, netbeans ?

Как в IntelliJ IDEA работать с GUI как в Eclipse (WindowBuilder)?
То ли я опять не въезжаю, то ли GUI Form это нечто... Собственно вопроса два: 1. К примеру есть уже частично прорисованное руками окно...

Как наладить eclipse?
При попытке открыть среду не позволяет создать новый проект а выпадает окно настроек которое видно на скрине как настроить чтобы опять все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru