Java getClass().getResource("Datei") führt zu einer NullPointerException
Ich bin nach dem zetcode Schlange java Spiele tutorial und bekomme immer diese Fehlermeldung:
ImageIcon iid = new ImageIcon(this.getClass().getResource("ball.png"));
ball = iid.getImage();
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at snake2.Board.<init>(Board.java:52)
at snake2.Snake.<init>(Snake.java:10)
at snake2.Snake.main(Snake.java:22)
Ich eigentlich nur kopiert und eingefügt, der code, um zu sehen, wie es funktioniert. Sie sind an der richtigen Pakete zu, aber wenn ich versuche es zu starten, ich immer am Ende mit diesem Fehler.
Ist es ein ball.png-Datei neben der .java-Datei? Falls Sie mit eclipse, haben Sie aktualisieren den source Ordner? Ist der code oben genannt, von einer Unterklassen-Methode in einem anderen Paket?
ich importierte es an der falschen Stelle .ich dachte, importieren Sie Sie in das Projekt fügt es in die Ressourcen. wie über das hinzufügen von Ressourcen weltweit, wie ich hinzufügen möchte D:\myresources\ mein Projekt
ich importierte es an der falschen Stelle .ich dachte, importieren Sie Sie in das Projekt fügt es in die Ressourcen. wie über das hinzufügen von Ressourcen weltweit, wie ich hinzufügen möchte D:\myresources\ mein Projekt
InformationsquelleAutor kapitanluffy | 2011-04-24
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte das Bild im gleichen package (Ordner in OS Begriffe), da die kompilierte Klasse. Prüfen Sie, ob Sie beide
.class
und.png
im gleichen Ordner. Wenn nicht, können Sie die classpath-relative Pfade ingetResource(..)
beginnen mit/
InformationsquelleAutor Bozho
Versuchen Sie dies:
Stellen Sie sicher, Bild ist im gleichen Ordner wie die java Datei.
InformationsquelleAutor Harry Joy
Versuchen Sie es mit
System.out.println(System.getProperty("java.class.path"));
um herauszufinden, Lage Ihre .Klasse-Datei, und platzieren Sie die Bilder in diesem Ordner.InformationsquelleAutor Rohit Deshmukh
Es ist allgemein riskant zum laden von Ressourcen mit relativen Pfaden, würde ich immer empfehlen die Verwendung von absoluten Pfaden, so tun
wenn das das Bild ist an der Wurzel von Ihrem classpath hinzu, oder fügen Sie einen Pfad zum Speicherort.
InformationsquelleAutor MeBigFatGuy
Setzen Sie die image-Datei(ball.png-Datei) in den classpath. Mehr details, schauen Sie sich bitte in der Javadoc.
InformationsquelleAutor jumperchen
falls sich die Ressource in Ihrem Klassenpfad befinden, dann sollten Sie versuchen, "diese.getClass().getClassLoader().getResource("ball.png")". Für Sie eigentlichen code zu arbeiten, der ball.png muss in der Lage, wo Ihre .class-Datei (also innerhalb der Packung).
InformationsquelleAutor Anil G
Gehen Sie zu Projekt - >rein in die eclipse-würde es auffrischen der Paket-explorer wird Sie nicht vor diesem problem mehr.
InformationsquelleAutor vara prasad
Müssen Sie die Datei in das build-Ressourcen, so etwas wie dieses:
InformationsquelleAutor maphysics
Können Sie nur den Pfad des Bildes. Ich denke, dass dies wird Ihnen helfen:
Verwenden Sie diese:
Hinweis:
C:\\Users\\ranig\\My\\spaceinvaders\\ball.png
ist der ganze Weg der ball.png-Bild.statt:
Hinweis: Wenn u wollen nur versuchen, Schlange code und wollen sich nur um die Ausgabe.
InformationsquelleAutor abcd
Werde ich machen es einfach für Sie . Hier ist ein Beispiel:
hier "bug1."png" ist die Ressource, und wenn es nicht verfügbar ist dann kann es zu Fehler wie Sie hier diskutiert.
Importieren Sie ein Bild in das gleiche Verzeichnis in dem sich Ihr Programm befindet.
Können Sie auch ganz Weg, es so gut
InformationsquelleAutor Ali Baba
Die Ressource, die so genannt wurde nicht gefunden. Es muss in das gleiche Verzeichnis wie die .Klasse Datei, die Sie aufrufen aus. Finden Sie in der Javadoc.
Sie scheinen zu verwenden, die die Ressourcen-API, ohne zu wissen, das erste, was über, was es ist. Ich schlage vor, Sie Lesen Sie in der Javadoc.
Bitte erklären
InformationsquelleAutor user207421