Изменение дизайна JFrame после создания файла JAR? Изображение отсутствует

1

У меня небольшая проблема с Swing (или, может быть, netBeans), я делаю тестирование JFrame, я изменил его фон на изображение с помощью этой строки кода:

this.setContentPane(new JLabel(new ImageIcon(ImageIO.read(new File("src/testdesign/BG.png")))));

И я добавил JLabel с Icon к раме с помощью Netbeans. Результат при компиляции проекта (в среде IDE):

Изображение 174551

Все в порядке.. Но когда я создаю JAR файл, результат:

Изображение 174551

Я не профессионал Java, поэтому я думаю, что способ, которым я изменил фон, не является правильным, или, может быть, это другое.

Теги:
netbeans
jar
swing
embedded-resource

1 ответ

2
Лучший ответ

Вы используете неправильный способ загрузки фонового изображения. В вашем местоположении изображения кода зависит от каталога проекта src. Вы должны загружать изображение из пути к классам, кроме файловой системы. Вы Class.getResource метод Class.getResource например:

this.setContentPane(new JLabel(new ImageIcon(getClass().getResource(pathToImage))));
  • 0
    Спасибо за ваш ответ, Сергей, но я получаю ошибку: нестатический метод не может быть повторно ... из статического контекста ... Я помещаю это в конструктор, который вызывается из основного (статического), даже если я помещаю его в другой Метот все они называются основными ..
  • 1
    @ user3426711 добавить пример кода в мой ответ
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню