Невозможно загрузить значок изображения на кнопку в Netbeans

ClassLoader cldr = ImageDisplayTest.class.getClassLoader()
URL url = cldr.getResource("resources/wifi.png");
jLabel3.setIcon(new ImageIcon(url));

Это код, который я написал, чтобы загрузить значок изображения. Можете ли вы предложить, что мне нужно сделать, потому что я получаю ошибку:

java.lang.RuntimeException: некомпилируемый исходный код - ошибочный тип sym: ImageDisplayTest.class.getClassLoader

2 ответа

Просто делать

ImageDisplayTest.class.getResource("/resources/wifi.png");

Это предполагает, что ваш resources каталог находится на пути к классам.

ОБНОВИТЬ:

Поскольку вы не показали нам структуру каталогов, мы предположили, что вы знаете, что делаете, и resources на вашем пути актуальная посылка. Но, как вы упомянули, что это проект Maven, над моей головой появляется лампочка. Могу поспорить, что ваши "ресурсы" являются частью структуры каталогов Maven, я прав?

В этом случае ваш путь к ресурсу будет простым "/wifi.png", если предположить, что этот образ существует и не вложен в некоторые другие пакеты.

Для ясности, если это не сработает, опубликуйте свою структуру каталогов - скриншот с затмения будет в порядке.

Вам не нужно инициировать ClassLoader объект, просто используйте getResource() метод вашего класса, как это:

 URL url = ImageDisplayTest.class.getResource("resources/wifi.png");
Другие вопросы по тегам