Я получаю исключение nullPointerException в моей URL-ссылке

Я пытаюсь создать панель инструментов для этой программы математической практики, которую я написал. Я пытаюсь получить изображение из папки с именем images. Это не позволит мне. Это дает мне исключение NullPointerException, я отмечу строки с помощью *, на которые указывает исключение.

public JButton makeNavigationButton( String imageName, String toolTipText ) {
   String imgLocation = "images/" + imageName + ".jpg";
   URL imageURL = MathPractice.class.getResource(imgLocation);
   JButton button = new JButton();
   button.setToolTipText(toolTipText);
   //button.addActionListener(this);
   button.setIcon( new ImageIcon( imageURL )); //************* NPE here
   return button;
}

person user278153    schedule 12.02.2014    source источник
comment
Как вы думаете, весь этот код актуален? Не усложняйте нашу жизнь.   -  person Sotirios Delimanolis    schedule 12.02.2014
comment
исправил, надеюсь, этого достаточно, чтобы найти ответ.   -  person user278153    schedule 12.02.2014


Ответы (1)


Документация Class.getResource () говорит:

Находит ресурс с заданным именем. Правила поиска ресурсов, связанных с данным классом, реализуются загрузчиком класса определения класса. Этот метод делегирует функции загрузчику классов этого объекта. Если этот объект был загружен загрузчиком класса начальной загрузки, метод делегирует ClassLoader.getSystemResource (java.lang.String).

Перед делегированием абсолютное имя ресурса создается из заданного имени ресурса с использованием этого алгоритма:

Если имя начинается с '/' ('\ u002f'), то абсолютное имя ресурса - это часть имени, следующая за '/'. В противном случае абсолютное имя имеет следующую форму:

    modified_package_name/name 

Где modified_package_name - это имя пакета этого объекта с заменой '/' на '.' ('>').

В Eclipse, если каталог images находится в bin, он будет найден. Переместите images в src/images.

person Aubin    schedule 12.02.2014