Rastilo: Zugriffsrechte von Applets

Hallo. Hab da ein kleines Problem wenn ich mein Applet (als jar) starten will kann ich nicht auf meine Bilder zugreifen. Siehe Code unten. Hab es einmal versucht mit den Bildern im Jar und einmal per externer URL. Hat aber beides nicht geklappt. Muss ich da noch auf etwas anderes achten wenn ich Bilder bzw. Icons in einem Applet aufrufe? Kommt ja immer der "Acces Denied"-Fehler aber ich hab keine Ahnung warum. Direkt in Eclipse hab ich das Applet problemlos zum Laufen bekommen.

Kann mir da jemand weiterhelfen?

---
Bei dem Aufruf

new ImageIcon("applet/images/selection.gif")
.getImage(), new Point(10, 10), "selection");

wird folgender Fehler ausgegeben:

java.security.AccessControlException: access denied (java.io.FilePermission selection.gif read)
   at java.security.AccessControlContext.checkPermission(Unknown Source)
   at java.security.AccessController.checkPermission(Unknown Source)
   at java.lang.SecurityManager.checkPermission(Unknown Source)
   at java.lang.SecurityManager.checkRead(Unknown Source)
   at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
   at sun.awt.SunToolkit.getImage(Unknown Source)
   at javax.swing.ImageIcon.<init>(Unknown Source)
   at javax.swing.ImageIcon.<init>(Unknown Source)
   at applet.menu<init>(PanelDepView.java:80)
   at applet.Applet.init(SwingApplet.java:96)
   at sun.applet.AppletPanel.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

Und mit dem Aufruf:

new ImageIcon("http://localhost:8080/images/selection.gif") .getImage(), new Point(10, 10), "selection");

kommt

java.security.AccessControlException: access denied (java.io.FilePermission http://localhost:8080/images/selection.gif read)
   at java.security.AccessControlContext.checkPermission(Unknown Source)
   at java.security.AccessController.checkPermission(Unknown Source)
   at java.lang.SecurityManager.checkPermission(Unknown Source)
   at java.lang.SecurityManager.checkRead(Unknown Source)
   at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
   at sun.awt.SunToolkit.getImage(Unknown Source)
   at javax.swing.ImageIcon.<init>(Unknown Source)
   at javax.swing.ImageIcon.<init>(Unknown Source)
   at applet.menu.<init>(PanelDepView.java:80)
   at applet.Applet.init(SwingApplet.java:96)
   at sun.applet.AppletPanel.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

  1. moin Rastilo :)

    Kann mir da jemand weiterhelfen?

    Worauf du auf jeden Fall achten musst, ist dass die Grafiken im gleichen Ordner bzw. in einem Unterordner von deinem Appletsource liegen.
    Ansonsten macht dir der Sandkasten einen Strich durch die Rechnung. Eine andere Möglichkeit wäre, dein Applet signieren zu lassen.

    liebe Grüße aus Berlin
    lina-

    --
    Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
    1. Danke für die Antwort! Bin echt ein bisschen am verzweifeln.

      Worauf du auf jeden Fall achten musst, ist dass die Grafiken im gleichen Ordner bzw. in einem Unterordner von deinem Appletsource liegen.

      Das ist auch der Fall.

      Ansonsten macht dir der Sandkasten einen Strich durch die Rechnung. Eine andere Möglichkeit wäre, dein Applet signieren zu lassen.

      Hhmm, ok dann werde ich das wohl mal versuchen müssen. Hat da jemand eine schlaue Anleitung, Links oder Tipps? Sonst werde ich mal googlen.

  2. Hallo,

    new ImageIcon("applet/images/selection.gif")
    .getImage(), new Point(10, 10), "selection");

    Was soll hier passieren? Anders gefragt, was soll diese Syntax bewirken?

    new ImageIcon("http://localhost:8080/images/selection.gif") .getImage(), new Point(10, 10), "selection");

    siehe oben.

    Das ist beides entweder schon von der Syntax her falsch oder aus irgendeinem Zusammenhang gerissen.

    http://java.sun.com/docs/books/tutorial/uiswing/misc/icon.html
    und
    http://java.sun.com/docs/books/tutorial/uiswing/misc/icon.html#applet

    aus dem Java Tutorial kennst Du?

    viele Grüße

    Axel