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

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

11.05.2013, 11:31. Показов 3073. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru