Пытается установить значок изображения для JLabel
, но возвращает URL-адрес null
?Попытка установить значок изображения для JLabel, но URL-адрес возвращается null
Я использую Netbeans и включил background.png в свой проект, но он все равно возвращает null
?
import java.awt.image.BufferedImage;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.*;
public class NewClass extends JFrame {
JLabel o = new JLabel();
public NewClass() {
createImage("background.png");
add(o);
setVisible(true);
setSize(100, 100);
setResizable(false);
}
public static void main(String[] args) {
new NewClass();
}
public void createImage(String str) {
URL url = getClass().getResource(str);
try {
BufferedImage image = ImageIO.read(url);
o.setIcon(new ImageIcon(image));
} catch (Exception e) {
e.printStackTrace();
}
}
}
Сведения об ошибках в трассировки стека:
java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1388)
at Test.NewClass.createImage(NewClass.java:32)
at Test.NewClass.<init>(NewClass.java:18)
at Test.NewClass.main(NewClass.java:26)
Пожалуйста, не могли бы вы помочь не уверены, почему это не работает, когда я пытаюсь
JLabel o = new JLabel(new ImageIcon("background.png");
Это работает, но это чревато ошибками упаковывают background.png не существует? Thankyou
EDIT: компоненты-SplitPaneDemo2Project - где это название NetBeans проекта & фона PNG непосредственно внутри этой папки
расположен здесь: C: \ Users \ John \ Documents \ NetBeansProjects \ компоненты-SplitPaneDemo2Project
Скриншот:
Где 'background.png' находится? Похоже, что «background.png» не найден. –
Что вы подразумеваете под "error prone"? Этот файл изображения является частью вашего приложения. Вы можете убедиться, что он существует. – yole
http://docs.oracle.com/javase/tutorial/uiswing/components/icon.html Я следовал этому руководству, и они упомянули о грамотной обработке ошибок? Я также пытаюсь понять, почему этот конкретный метод не работает, даже если он всегда является частью приложения. Я редактировал его там, где он находится. – Als