Mathias: Problem mit Pfadangaben

Hallo,

in meinem Java-Projekt gibt es ein JApplet und ein JFrame, welche beide dasselbe tun, dh. meine Applikation soll letztendlich als Applet oder als Application gestartet werden können. Das Problem ist, dass ich in einem Ordner /etc/images Bilder abgelegt habe und ich möchte diese im Code verwenden, z.B. auf einem JPanel anzeigen. Dieses Panel wird dann in das JApplet oder das JFrame geladen, je nachdem was gestartet wurde.

Problem: Beim JFrame werden die Bilder geladen und angezeigt. Beim JApplet wird das Bild irgendwie nicht gefunden, bzw. angezeigt. Ich lade das Bild so:

imgIcon = new ImageIcon("etc/images/meinBild.jpg");

Was mache ich da falsch? Kann man bei Applets überhaupt Bilder aus einem separaten Ordner laden?

Gruss Mathias

  1. Hallo,

    in meinem Java-Projekt gibt es ein JApplet und ein JFrame, welche beide dasselbe tun, dh. meine Applikation soll letztendlich als Applet oder als Application gestartet werden können. Das Problem ist, dass ich in einem Ordner /etc/images Bilder abgelegt habe und ich möchte diese im Code verwenden, z.B. auf einem JPanel anzeigen. Dieses Panel wird dann in das JApplet oder das JFrame geladen, je nachdem was gestartet wurde.

    Problem: Beim JFrame werden die Bilder geladen und angezeigt. Beim JApplet wird das Bild irgendwie nicht gefunden, bzw. angezeigt. Ich lade das Bild so:

    imgIcon = new ImageIcon("etc/images/meinBild.jpg");

    Was mache ich da falsch? Kann man bei Applets überhaupt Bilder aus einem separaten Ordner laden?

    Ja, allerdings nicht mit einem Dateinamen. Das geht nur entweder über eine URL oder indem man das Image zunächst, wie bei Applets üblich, mit der Methode
    Image image = getImage(getCodeBase(), "relativerPfad");
    relativ zur CodeBase läd.
    http://java.sun.com/docs/books/tutorial/applet/appletsonly/data.html

    So also:
    Image image = getImage(getCodeBase(), "etc/images/meinBild.jpg");
    imgIcon = new ImageIcon(image);

    viele Grüße

    Axel

    1. Hallo Axel

      Vielen Dank!

      Gruss Mathias