Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Problem beim Laden von Grafiken mit ImageIcon

Empfohlene Antworten

Veröffentlicht

Hallo,

ich hab folgendes Problem. In einer Klasse lade ich mir eine Grafik über

new ImageIcon("images/tree.gif");

Diese Klasse verpacke ich nach dem Compilieren in eine JAR Datei, zusammen mit der Grafik. Die Klasse benutze ich nun in einer anderen Applikation. Dummerweise findet er dann die Grafiken nicht, da er sie immer relativ zu der Applikation sucht, in der die Klasse benutzt wird.

Ich sehe gerade, dass passiert auch wenn ich keine JAR Datei mache.

Also nochmals zu verdeutlichung:

Ordner

|- Ordner2

| |- images

| | |- tree.gif

| |- class1

|- Ordner3

| |-class2

In class 1 lade ich die Grafik. Class 2 benutzt class1 und beim Starten wird die Grafik in Ordner3/images gesucht, dens ja gar nicht gibt. Ich bin verwirrt. Weiss da jemand Rat??

Danke schon mal

Timo

hallo,

schon mal ohne jar archiv probiert???

bin mir nich ma ganz sicher...

aendere es mal in

/images/tree.gif

MfG eax

ps: im notfall kann ich nochmal nachsehen

<FONT COLOR="#a62a2a" SIZE="1">[ 14. Oktober 2001 20:08: Beitrag 1 mal editiert, zuletzt von eax ]</font>

Nein so gehts auch nicht. Auch mit der JAR Datei hats nix zu tun. Auch ohne gehts nicht!

Gruss

Habi

Hi,

ja wenn Du weißt, daß er relativ zur angegebenen Klasse liegt (ist wirklich so), dann verwende doch relative Pfade, also in Deinem Fall ../ordner2/images/tree.gif

Sollte eigentlich gehen (zumindest weiß ich keinen Grund, warum es nich gehen sollte)

MfG Markus

Na ja, ich möchte diese Klasse halt in eine JAR verpacken, damit ich sie unabhängig in beliebigen Projekten verwenden kann. Da kann ich ja dann den Pfad nicht jedes mal verändern , das wär ja doof...

Gruss

Habi

Sodele,

habs selbst gefunden. Für alle die es interessiert:

URL iconURL = ClassLoader.getSystemResource("images/test.gif");

ImageIcon test = new ImageIcon(iconURL);

Funktioniert!

Habi

Ich mach das immer folgenermaßen:

new javax.swing.ImageIcon(getClass().getResource("/ord1/ord2/search_.gif"));

dabei sollte der classpath vor den ord1 sitzen.

d.h. im order "neuerOrdner" liegt dieser ganze mist,

dann sollte "neuerOrdner" im Classpath angegeben werden.

Das sollte funktionieren ;)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.