Java Datei Pfad?
Hallo zusammen ich habe versucht ein bild für mein spiel hochzuladen :) aber es wird nicht angenommen grund Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.net.URL.toExternalForm()" because "location" is null
at java.desktop/javax.swing.ImageIcon.<init>(ImageIcon.java:234)
at com.company.Main.createUI(Main.java:30)
at com.company.Main.<init>(Main.java:13)
at com.company.Main.main(Main.java:10)
das bild ist in der main drin aber es geht nicht danke für jede hilfe!
ImageIcon cookie = new ImageIcon(getClass().getClassLoader().getResource("source/com.copany/11.jpg"));
den namen den habe ich gleich benannt!
2 Antworten
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
public class FileLoader {
static BufferedImage bufferedimage = null;
static ImageIcon image = null;
public FileLoader() {
try {
bufferedimage = ImageIO.read(getClass().getResourceAsStream("ich.JPG"));
image = new ImageIcon(bufferedimage);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Es ist vermutlich nicht die beste Lösung, aber sie funktioniert und so nutze ich es immer, wenn ich ein ImageIcon benötige
Du erhältst diese Fehlermeldung, weil das Bild nicht gefunden werden kann. Die getResource-Methode geht von dem Ort aus, in dem die class-Datei deiner Main-Klasse liegt. In welchem Ordner die class-Datei wiederum abgelegt wird, kann abhängig von der IDE sein, die du nutzt.
Der Artikel von Mkyong zeigt anhand von Bildern und Code, wie du eine Ressource richtig einlesen kannst.