Swing Bild in runnable jar einfügen

Status
Nicht offen für weitere Antworten.

[aLeX]

Mitglied
Hi,

Java:
ImageIcon error = new ImageIcon (ClassLoader.getSystemResource("src/error.gif"));
					jLabel2 = new JLabel(error);
					getContentPane().add(jLabel2, new AnchorConstraint(44, 931,

Selbst beim Ausführen in Eclipse bekomme ich schon den Fehler:

java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at lenz.check.InternetCheck.initGUI(InternetCheck.java:65)
at lenz.check.InternetCheck.<init>(InternetCheck.java:55)
at lenz.check.InternetCheck$1.run(InternetCheck.java:46)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Und in der exportierten .jar sind auch keine Bilder eingefügt worden.
 
M

MiDniGG

Gast
Überprüfe den Pfad zum Bild! Kannst hier auch mal n bisschen im Forum stöbern. Da sind ein paar Beispiele wie Bilder richtig geladen werden :)

cya
 

Atze

Top Contributor
habs noch nicht benutzt, aber laut api doc hört es sich so an, als ob die methode zum laden einer klasse gedacht wäre. können so auch bilder geladen werden?
 
M

maki

Gast
Code:
(ClassLoader.getSystemResource("src/error.gif"));
Würde mich sehr wundern wenn der Pfad wirklich mir [c]src[/c] losgeht, lass das mal weg.
 

[aLeX]

Mitglied
also wenn ich
Java:
		ImageIcon error = new ImageIcon ("src/error.gif");
					jLabel2 = new JLabel(error);

Wird das Bild wunderbar geladen und angezeigt, nur im exportierten Jar halt nicht.

Mache ich z.b.
Java:
ImageIcon error = new ImageIcon (this.getClass().getResource("src/error.gif"));
					jLabel2 = new JLabel(error);

oder
Java:
 ImageIcon error = new ImageIcon (ClassLoader.getSystemResource("src/error.gif"));
                    jLabel2 = new JLabel(error);

gehts nicht, da bekomm ich direkt in Eclipse schon die Excpetions geworfen.

Ich hab hier im Forum und bei google schon seit 2 Tagen alles mögliche durchsucht, und probiert, langsam bin ich wegen dem Problem ziemlich gestresst :(

Edit:
Wirft mir die selbe Exception:
[Java]ImageIcon error = new ImageIcon (ClassLoader.getSystemResource("error.gif"));
jLabel2 = new JLabel(error);[/code]

Die Bilder liegen bei mir in:
D:\java-workspace\alex\internetcheck\src
 
Zuletzt bearbeitet:

Michael...

Top Contributor
hast Du denn tatsächlich einen "Ordner" namens src in deinem Package oder handelt es sich um den src-Ordner den Eclipse anlegt?
Wo liegt den das class-File und wo liegt das gif?
 

[aLeX]

Mitglied
hast Du denn tatsächlich einen "Ordner" namens src in deinem Package oder handelt es sich um den src-Ordner den Eclipse anlegt?
Wo liegt den das class-File und wo liegt das gif?

Genau, ich habs das einfach in den src ordner reingelegt, der von eclipse erstellt wurde

D:\java-workspace\alex\internetcheck\src <-- GIF

D:\java-workspace\alex\internetcheck\bin\lenz\check <- InternetCheck.class
 

Michael...

Top Contributor
Das Bild muss innerhalb der Package Struktur liegen.
leg's z.B. in lenz/images
dann sollte es mit
Java:
getClass().getResource("/lenz/images/error.gif")
funktionieren
 

[aLeX]

Mitglied
Ok, super, Eclipse wirft mir keine Fehler mehr und wenn ich es in Eclipse ausführe klappt alles.

Wenn ich jetzt allerdings auf Export -> Java -> Runnable Jar File gehe, hab ich da keine optionen was hinzuzufügen und beim exportierten .jar fehlen immer noch die Bilder.
 
M

MiDniGG

Gast
[aLeX];538945 hat gesagt.:
Ok, super, Eclipse wirft mir keine Fehler mehr und wenn ich es in Eclipse ausführe klappt alles.

Wenn ich jetzt allerdings auf Export -> Java -> Runnable Jar File gehe, hab ich da keine optionen was hinzuzufügen und beim exportierten .jar fehlen immer noch die Bilder.

Dann geh wähl mal "Jar File" ohne das Runnable oder gibt's das nicht? Wie lädst Du das Bild denn jetzt?
Einfach nur ImageIcon(pfad) oder mit dem Classloader oder mit getClass().getResource(pfad)?
 
G

Gast2

Gast
Du kannst doch bei eclipse ganz am anfang anhaken was du alles mit ins jar rein willst ...
 

[aLeX]

Mitglied
Also ich lade es so:
Java:
	ImageIcon error = new ImageIcon (this.getClass().getResource("/lenz/images/error.gif"));
		jLabel2 = new JLabel(error);
Wenn ich das mit Eclipse teste, geht es wunderbar.

Zum Export:

Ich geh auf Export -> JAR File -> "Select resources to export"
und dann kann ich da allerdings nur "src" und darunter "com.cloudgarden.layout" (jigloo) und mein Paket lenz.check auswählen.
Unten drunter ist der Haken bei Export generated class file and resources drin.

Wenn ich beides auswähle und dann auf Finish klicke, kommt beim ausführen der jar nur ein error-ton und die Anwendung wird garnicht erst gestartet.

Wenn ich mir die jar mit Winrar anschaue, ist dort ein Ordner mit "lenz" aber darin befindet sich nicht mein ordner "images", der fehlt.
 
Zuletzt bearbeitet:
M

MiDniGG

Gast
Hm. Also bei mir geht das ohne Probleme...

Ich mach rechtsklick auf das Projekt -> Export -> Java -> JAR File
und komme dann zu folgendem Fenster...

imageFolderInJAR.png


Kannst vllt mal zeigen wie das bei Dir aussieht? Danke.

Edit: Sorry, dass das Bild so groß is... -.-'
Edit²: OK. Habs noch bissl zamm geschnitten :hihi:
 
Zuletzt bearbeitet von einem Moderator:

Ebenius

Top Contributor
Ich sehe in Deinem oberen Screenshot zwei Packages: "com.cloudgarden.layout" und "lenz.check". Ein Package "lenz.images" sehe ich da nirgends und deshalb hast Du's nicht ausgewählt und daher wird es auch nicht ins JAR getan.

Ebenius
 
M

MiDniGG

Gast
Leg einfach im Eclipse en neues Package mit lenz.images an und zieh da die bilder rein. :) Dann sollte es klappen.
 

[aLeX]

Mitglied
Also ihr habt oben extra gesagt, dass ich die Bilder in /bin legen soll -_-

Eclipse zeigt mir den ordner "lenz" nicht an. Weder bei neuem Paket, bei neuem Source Folder und auch nicht bei den Build Path unter Source.

Wenn ich den Pfad manuell eingebe sagt er mir, den Ordner gäbe es nicht.
 
M

MiDniGG

Gast
Ich hab grad nochmal geschaut und nix gefunden, dass jemand gesagt hätte Du sollst das Bild in den bin-Ordner legen... Aber egal.
Machs einfach so wie ichs gesagt habe. Geh in Eclipse leg da ein neues Package an das Du dann "lenz.images" nennst und ziehe da, per Drag and Drop, die Bilder rein. Dann geht es sicher. Sollte der Fehler kommen, dass der Ordner schon besteht lösch ihn eben mal aus dem bin/src wo du ihn angelegt hast raus.
Und dann sollte er auch beim JAR erstellen angezeigt werden. :)
 

[aLeX]

Mitglied
sorry, aber da geht nix per Drag and Drop

package.jpg


Wenn ichs nicht in bin legen soll, wo dann rein?

Mir wurde gesagt, dass die Methode getClass().getResource im bin Ordner schaut.
 

Ebenius

Top Contributor
Dann nochmal von vorn: [c]Class.getResource(...)[/c] schaut im Classpath. Der Classpath beinhaltet Dein bin-Verzeichnis. Da müssen die Bilder rein; das ist richtig. Aber: das bin-Verzeichnis gehört Eclipse. In dieses schreibst Du niemals direkt etwas hinein. Eclipse legt im bin-Verzeichnis alle [c].class[/c]-Dateien ab die aus Deinem Java-Quelltext erzeugt werden. Es findet alle Java-Dateien die in Deinen Quellverzeichnissen liegen; meist gibt's pro Projekt eines, und das heißt meist [c]src[/c]. Eclipse kopiert außerdem alle anderen Dateien (alle die nicht Java-Dateien sind) aus den Quellverzeichnissen in das bin-Verzeichnis. Also: Wenn Du Dateien aus dem bin-Verzeichnis lesen willst (mit getResource(...)), dann musst Du sie im src-Verzeichnis platzieren.

Außerdem sollst Du nicht in dem Dialog zum Anlegen des Packages Drag and Drop verwenden. Du sollst dort eintippen "lenz.images". Und dann sollst Du im Navigator das Verzeichnis [c]internetcheck/src/lenz/images[/c] suchen und dort die Bilder hinkopieren; zum Beispiel über Drag and Drop oder Copy and Paste.

Ebenius
 

[aLeX]

Mitglied
Achso, vielen Dank für deine Antwort Ebenius, das hat jetzt wirklich einiges an Klarheit geschaffen =)

Also ihr müsst mir das nochmal genauer erklären.

Ich hab jetzt in /src/lenz nen Ordner images erstellt und dort die Bilder reinkopiert.
Das ganze über den Windows Explorer.

Wenn ich jetzt auf new Package gehe, sagt er mir dort immer noch: Folder 'internetcheck/src/lenz/images/' does not exist.
Auswählen lässt es sich auch nicht über das Navigator Fenster, wird dort nicht angezeigt.
 
Zuletzt bearbeitet:

Ebenius

Top Contributor
Das liegt einfach daran, dass Eclipse sich den Inhalt seiner Ordner merkt. Würde es das nicht tun, sondern jedesmal alle Inhalte von der Platte lesen, könntest Du aus Geschwindigkeitsgründen in Eclipse wahrscheinlich nicht arbeiten (ich ganz sicher nicht). Daher haben Dir alle empfohlen, das ganze im Eclipse einzufügen.

Wenn man die Dateien im Workspace außerhalb Eclipse ändert, muss man Eclipse Bescheid geben. Klick mit der rechten Maustaste auf das Projekt oder auf das [c]src[/c]-Verzeichnis und wähle "Refresh" (wie auch immer das in anderen Sprachen heißt).

Nachtrag: Der "Navigator" den ich oben erwähnte ist eine View im Eclipse. Vielleicht hattest Du gedacht ich meine damit den Explorer, oder so.

Ebenius
 

[aLeX]

Mitglied
Tausend Dank Ebenius, jetzt funktioniert alles, hab es exportiert und die Bilder werden auch angezeigt :D

Nachdem ich refresh gemacht hab, hat Eclipse das automatisch erkannt und auch mit exportiert, musste ich garnet extra auswählen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M JavaFX Mandelbrot-bild noch nicht optimiert AWT, Swing, JavaFX & SWT 7
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
frager2345 Bild aus Dateien lesen und als Hintergrund verwenden AWT, Swing, JavaFX & SWT 2
T Bild in ein graphics füllen AWT, Swing, JavaFX & SWT 2
N imageIcon zeigt kein Bild an AWT, Swing, JavaFX & SWT 5
B Bild lädt nicht AWT, Swing, JavaFX & SWT 2
izoards Bild ausdrucken - PageFormat setzen geht nicht AWT, Swing, JavaFX & SWT 5
M Bild wird nicht geladen obwohl sie gefunden wird AWT, Swing, JavaFX & SWT 0
V JavaFX Bild leer und keine Fehlermeldung AWT, Swing, JavaFX & SWT 21
D JavaFX Bearbeitetes Bild wird nicht gespeichert AWT, Swing, JavaFX & SWT 9
D JavaFX Größe des Bild an ImageView anpassen AWT, Swing, JavaFX & SWT 3
M Bewegtes Bild im BorderLayout.CENTER AWT, Swing, JavaFX & SWT 6
C Falschfarbenbild (lineare Grauwertspreizung)aus Grauwert-Bild erstellen AWT, Swing, JavaFX & SWT 15
C Kleineres Bild an bestimmte Koordinaten setzen AWT, Swing, JavaFX & SWT 6
S Bild neu skalieren - Bild in Bild speichern? AWT, Swing, JavaFX & SWT 6
N Bild Drehen AWT, Swing, JavaFX & SWT 1
Hatsi09 Swing JPanel Bild einfügen AWT, Swing, JavaFX & SWT 14
J Bild von anderer Klasse will nicht laden AWT, Swing, JavaFX & SWT 1
M JavaFX Bild zur ImageView in einem Kreis anzeigen. AWT, Swing, JavaFX & SWT 4
T JFrame Bild einfügen AWT, Swing, JavaFX & SWT 9
M Combobox bild anklicken AWT, Swing, JavaFX & SWT 2
cool_brivk24 Swing ImageIcon lädt kein Bild AWT, Swing, JavaFX & SWT 12
L Bild nicht in der Mitte AWT, Swing, JavaFX & SWT 16
B JavaFX Bild um die eigene Achse drehen lassen AWT, Swing, JavaFX & SWT 0
J Swing Bild in Button AWT, Swing, JavaFX & SWT 11
I Bild über FXML (ImageView, Image) anzeigen AWT, Swing, JavaFX & SWT 1
T Image Loader lädt Bild nicht AWT, Swing, JavaFX & SWT 10
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
P Kein Bild wird angezeigt bei ImageIcon AWT, Swing, JavaFX & SWT 16
T JavaFX Bild in Tabellenzelle AWT, Swing, JavaFX & SWT 2
Ksanatos Swing Bild (.jpg) einlesen und per Button wechseln AWT, Swing, JavaFX & SWT 9
S JPanel rotieren, Bild ist abgeschnitten, Clipping? AWT, Swing, JavaFX & SWT 0
MaxG. Swing Bild Button AWT, Swing, JavaFX & SWT 7
P Swing Bild Skallieren AWT, Swing, JavaFX & SWT 1
P Jframe Bild einfügen, Hintergrund Farbe ändern, und Button schrift Größe ändern AWT, Swing, JavaFX & SWT 2
A Swing Bild wird nicht mehr geladen AWT, Swing, JavaFX & SWT 4
A Swing Gemaltes Bild über saveDialog speichern unter AWT, Swing, JavaFX & SWT 15
R 2D-Grafik PNG Bild per Graphics auf JPanel AWT, Swing, JavaFX & SWT 9
S Bild mit ImageIcon auf GUI verkleinern AWT, Swing, JavaFX & SWT 3
T AWT Farben in einem Bild ändern AWT, Swing, JavaFX & SWT 8
I JFrame Bild strecken und auf Bildschirmgröße anpassen AWT, Swing, JavaFX & SWT 2
F Gezeichnetes als bild speichern AWT, Swing, JavaFX & SWT 4
B 2D-Grafik Bild farblich filtern AWT, Swing, JavaFX & SWT 2
B JavaFX ImageView neues Bild zuweisen AWT, Swing, JavaFX & SWT 19
A 2D-Grafik Bild wird nicht neu gezeichnet AWT, Swing, JavaFX & SWT 24
K Bild in JFrame AWT, Swing, JavaFX & SWT 2
S JavaFX Teil eines Bildes ausschneiden / als neues Bild nutzen AWT, Swing, JavaFX & SWT 8
B Swing Unterteiltes JFrame mit Bild in der Mitte AWT, Swing, JavaFX & SWT 4
I Applet BlueJ Applet - Bild mit if-Schleife zeichnen lassen AWT, Swing, JavaFX & SWT 16
Z Bildervorschau, MouseDragged das Bild verschieben AWT, Swing, JavaFX & SWT 1
M JavaFX Ein Bild ohne Rahmen fällt runter? AWT, Swing, JavaFX & SWT 2
G Anonyme Instanz von JXImageView erstellen und mit Bild initialisieren AWT, Swing, JavaFX & SWT 7
A JPanel Bild laden (Porblem mit Dateipfad) AWT, Swing, JavaFX & SWT 2
M JavaFX - Bild in Jar einbinden, sodass es auch außerhalb der IDE geladen wird. AWT, Swing, JavaFX & SWT 2
M Bild Beschreibung mit ImageIO speichern AWT, Swing, JavaFX & SWT 1
M "ImageIO.read()" liest Bild nicht richtig ein AWT, Swing, JavaFX & SWT 3
I Swing JLabel Bild für 1sec anzeigen lassen AWT, Swing, JavaFX & SWT 13
K Bild in Label wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
C GUI öfters durchlaufen und hinterher Bild speichern AWT, Swing, JavaFX & SWT 1
M AWT Farben in Bild ersetzen AWT, Swing, JavaFX & SWT 11
E JavaFX Bild einfügen AWT, Swing, JavaFX & SWT 6
G paintComponents zerstückelt Bild AWT, Swing, JavaFX & SWT 0
C 2D Grafik ein Bild soll permanent durchlaufen AWT, Swing, JavaFX & SWT 2
1 Textfield: jede Buchstabe ein Bild AWT, Swing, JavaFX & SWT 2
C Bild Koordinaten AWT, Swing, JavaFX & SWT 6
M Bild aus JLabel resizen und speichern AWT, Swing, JavaFX & SWT 0
M Bild in JPanel mit Maus einfügen AWT, Swing, JavaFX & SWT 0
B JPanel und png-Bild AWT, Swing, JavaFX & SWT 2
B Swing Bild von Webseite herunterladen, diese dann in JList anzeigen. AWT, Swing, JavaFX & SWT 1
O 2D-Grafik Bild abgeschnitten nach Rotation mit Affine Transform und Hintergrund Schwarz AWT, Swing, JavaFX & SWT 8
A Swing Malprogramm Bild speichern? AWT, Swing, JavaFX & SWT 9
U Bild innerhalb hatml code anzeigen AWT, Swing, JavaFX & SWT 5
Y JavaFX Bild speichern und Pfad dazu abspeichern AWT, Swing, JavaFX & SWT 2
S Geladenes Bild wird nicht in JPanel angezeigt AWT, Swing, JavaFX & SWT 7
L 2D-Grafik Bild in Richtung Maus drehen AWT, Swing, JavaFX & SWT 18
C Bild in JFrame AWT, Swing, JavaFX & SWT 8
T AWT Bild laden und transparent zeichnen AWT, Swing, JavaFX & SWT 2
I SWT Bilder, bzw. ein einzelnes Bild AWT, Swing, JavaFX & SWT 6
L JavaFX: Bild in Image einlesen AWT, Swing, JavaFX & SWT 11
T Mit getSubimage ruckelt das Bild AWT, Swing, JavaFX & SWT 7
T Bild drehen ohne Resize AWT, Swing, JavaFX & SWT 3
A Bild in JLabel skalieren AWT, Swing, JavaFX & SWT 4
A Bild über Imageviewer auf GUI anzeigen AWT, Swing, JavaFX & SWT 3
D 3D-Grafik [JOGL] streifen im bild AWT, Swing, JavaFX & SWT 2
D Bild bewegen mit Tastendruck AWT, Swing, JavaFX & SWT 7
H Bild wird nicht angezeigt, Fehlercode unverständlich AWT, Swing, JavaFX & SWT 5
J 2D-Grafik Bildteile in ein anderes Bild speichern AWT, Swing, JavaFX & SWT 12
C Swing ImageIcon mit Bild aus Temp-Verzeichniss füllen AWT, Swing, JavaFX & SWT 15
J Swing Bild laden, Kreise drin malen, Schreiben AWT, Swing, JavaFX & SWT 2
S Bild skalieren AWT, Swing, JavaFX & SWT 3
D Bild in JFrame nur kurz da AWT, Swing, JavaFX & SWT 9
H Bild mit KeyListener verschieben AWT, Swing, JavaFX & SWT 2
GianaSisters Bild wird S/W gespeichert. AWT, Swing, JavaFX & SWT 4
O Bild auf das JLabel AWT, Swing, JavaFX & SWT 10
D Swing Text auf Bild legen AWT, Swing, JavaFX & SWT 7
S Ein externes Bild in ein JFrame einfügen AWT, Swing, JavaFX & SWT 8
J Swing Bild wird nicht auf JLabel angezeigt AWT, Swing, JavaFX & SWT 12
S Swing Bild auf jPanel nach Änderung von JComboBox zeichnen AWT, Swing, JavaFX & SWT 4
R Bild in Bild finden AWT, Swing, JavaFX & SWT 4
B Bild bearbeiten mit Transparenz (spiegeln, Farben austauschen) AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben