У меня есть следующий фрагмент, который загружает изображения:
String imgName = "/assets/" + name;
URL imgURL = Groovy.class.getResource(imgName);
System.out.println(imgURL.getPath());
Toolkit tk = Toolkit.getDefaultToolkit();
Image image = tk.getImage(imgURL);
return image;
И где изображение нарисовано:
Graphics2D g = (Graphics2D) strategy.getDrawGraphics();
g.setColor(Color.black);
g.fillRect(0,0,screenWidth,screenHeight);
g.drawImage(background, 0, 0, null);
System.out.println(background.getWidth(null));
if (background.getWidth(null) < 0)
System.exit(1);
Однако imgURL всегда возвращает ноль. Я использую Eclipse (и только что, blegh) и запускаю классы с опцией run или debug. Если я изменяю путь, это дает исключение для файла, не найденного.
Структура файла выглядит следующим образом:
Project -> src and assets -> src имеет Groovy, у активов есть изображение -> Groovy имеет Groovy.class
Редактировать: я переключился обратно на Netbeans. Теперь imgURL загружается нормально, и getPath возвращает правильный путь. Однако ширина / высота изображения возвращают -1. Это актуальная проблема сейчас.
Редактировать: -1 означает, что ширина еще не известна, однако при отображении изображения отображается белый экран.