Изображения, которые отображаются в IDE NetBeans, не отображаются в реальном приложении - PullRequest
0 голосов
/ 26 ноября 2018

Я разработал приложение с графическим интерфейсом в java с помощью netbeans (я использую Apache netbeans 9 и JDK 11).Также я добавил несколько изображений в этот кадр.Эти изображения в NetBean'ах хороши, но я не вижу эти изображения в реальном приложении, которое запускаю через командную строку.

Так вот как я добавил изображения в приложение

JButton saveTxtTool = new JButton(new ImageIcon((getClass().getProtectionDomain().getCodeSource().getLocation().toString() + "morsecoder/save-text-large.png").replaceAll("file:/", "")));

Из-заэта проблема я пробовал эту строку, чтобы получить путь, который передается в ImageIcon.

System.out.println(getClass().getProtectionDomain().getCodeSource().getLocation().toString().replaceAll("file:/","")+"morsecoder/undo.png");

И так я запускаю приложение без сетевых компонентов с помощью командной строки.

set Gantt_Generator_v5.0="C:\Program Files (x86)\GANTT_GENERATOR_V5.0"
start java -cp dist\MorseCoder.jar morsecoder.MorseCoder

После запуска приложения в обеих средах IDE и CMD, вот результаты, которые я получил.

//in netbeans IDE
C:/Users/Seniru/Documents/MorseCodeConverter/NetBeansProjects/MorseCoder/build/classes/morsecoder/undo.png

//in cmd
C:/Users/Seniru/Documents/MorseCodeConverter/NetBeansProjects/MorseCoder/dist/MorseCoder.jar/morsecoder/undo.png

Итак, я понял, что пути после этих тестов разные.Поэтому мой вопрос в том, как решить эту проблему и что я здесь делаю неправильно.

...