2016-11-25 2 views
0

Моя проблема заключается в том, что я не могу загрузить изображение из подпакета в моем проекте java с помощью maven.Не могу загрузить изображение из пакета

This is my project structure

I судимого некоторые различные фрагменты кода, но всегда получает исключение NullPointer.

I судимый:

Image image = new Image("/frontend/pictures/logo.png"); 
Image image = new Image("frontend/pictures/logo.png"); 
Image image = new Image("pictures/logo.png"); 
Image image = new Image(getClass().getResource("frontend/pictures/logo.png").toString()); 

В другом проекте он прекрасно работает для меня, но теперь я не знаю, что я делаю неправильно.

Благодарим за помощь.

+0

Какой пакет представляет собой класс Image, в котором есть аргументы для конструктора? – NormR

+0

Какой тип 'Image' вы используете здесь? 'java.awt.Image' имеет конструктор no-args, и это единственный класс' Image', который >> Java << определяет. –

+0

О, извините, я забыл сказать, что я использую javafx. –

ответ

2

Вот хороший способ загрузки изображений, я создал с помощью ImageIcons:

public Image img(String path) { 
    ImageIcon icon = new ImageIcon(path); 
    return icon.getImage(); 
} 

Затем, когда вы хотите, чтобы загрузить изображение, просто используйте:

Image image = img("frontend/pictures/logo.png") 

и это должно работать. Обратите внимание, что если вы хотите использовать исполняемую JAR, вы должны будете использовать эту реализацию:

static Image setImage(String path) { 
    Image tmp = null; 
    try { 
     tmp = ImageIO.read(/*Class name*/.class.getResourceAsStream(path)); 
    } catch (IOException e){ 
     e.printStackTrace(); 
    } 
    return tmp; 
} 

и корм в:

Image image = setImage("/org/.../logo.png"); 

с изображением, помещенным в каком-то вложенном в папке орга из JAR.

0

Мне было плохо, что я забыл сказать, что я работаю с JavaFX. Но я исправил свою проблему.

я добавить фотографию реж в папку Ressource, а затем:

Image img = new Image(getClass.getRessource("/logo.png").toString); 

Спасибо за вашу помощь.

Смежные вопросы