Вот ошибка я получаю:Как использовать getClass и getResource?
Using directory file:/D:/CCSF%20Docs/CS111B/Java%20Projects/LabelDemo2.java/bin/
Image url is null
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at LabelDemo2.<init>(LabelDemo2.java:23)
at LabelDemo2.main(LabelDemo2.java:46)
Может кто-нибудь сказать мне, почему я не могу загрузить изображение? Изображение java.jpg находится в D:/CCSF%20Docs/CS111B/Java%20Projects/LabelDemo2.java/bin/
Я не знаю, почему я получаю null исключение/ошибку.
import java.awt.*;
import javax.swing.*;
public class LabelDemo2 extends JFrame {
private ImageIcon image1;
private JLabel label1;
private ImageIcon image2;
private JLabel label2;
private ImageIcon image3;
private JLabel label3;
private static final long serialVersionUID = 1L;
LabelDemo2() {
setLayout(new FlowLayout());
System.out.println("Using directory " + getClass().getResource(""));
System.out.println("Image url is " + getClass().getResource("java.jpg"));
image1 = new ImageIcon(getClass().getResource("java.jpg"));
label1 = new JLabel(image1);
add(label1);
label1 = new JLabel(image1);
add(label1);
image2 = new ImageIcon(getClass().getResource("java.jpg"));
label2 = new JLabel(image2);
add(label2);
image3 = new ImageIcon(getClass().getResource("java.jpg"));
label3 = new JLabel(image3);
add(label3);
}
public static void main (String args[]) {
LabelDemo2 gui = new LabelDemo2();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.setVisible(true);
gui.pack();
gui.setTitle("Label Demo");
}
}
Является ли образ в исходной папке? –
Возможный дубликат [Загрузка ресурсов с использованием getClass() .getResource()] (http://stackoverflow.com/questions/2343187/loading-resources-using-getclass-getresource) – DonyorM
'getResource()' имеет несколько интересный способ указывать пути. См. Выше ссылку для получения дополнительной информации об этом. Короче говоря, проще всего разместить файл, который вы хотите прочитать в исходной папке/в вашем проекте, и указать путь как абсолютный путь, где «/» обозначает исходную папку. – DonyorM