Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java-appletti ei toimi NETISSÄ

Matso [17.02.2007 15:38:11]

#

Elikkä java appletti toimii kyllä appletviewerillä ja selaimella omalta koneelta, mutta kun laitan sen nettiin, niin ei toimi.

Tällasta virhettä:

java.security.AccessControlException: access denied (java.io.FilePermission cursor.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 AmpumaTesti.init(AmpumaTesti.java:20)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Vaikuttas ton perusteella, että tohon cursor.gifiin ei olis oikeuksia :/
Mistä tämmönen vois johtua?

Mobel [18.02.2007 00:10:39]

#

Java-appleteissahan on melko tiukat turvarajoitukset. Esimerkiksi asiakaskoneelle ei juurikaan voi suorittaa tiedostonkäsittelyä. Kääntäjästä/kehitysympäristöstä riippuen en pysty sanomaan onko appletViewerissä tämä otettu huomioon. AppletViewer antaa tallentaa tietoja omalle koneellesi sen samalla toimiessa palvelimena, mutta netin kautta tämä ei enää onnistukaan.

Itse olen myös törmännyt ongelmaan tosin eri yhteydessä.

FooBat [18.02.2007 01:00:40]

#

Jos muu ei auta, niin kokeile pistää kuva jar-paketin sisään ja lataa se muistiin näin:

Image image =
  ImageIO.read(getClass().getClassLoader().getResourceAsStream("cursor.gif"));

Sami [18.02.2007 02:21:07]

#

Varmasti toimiva tapa ladata kuvia appletissa on käyttää Applet-luokan metodia getImage(URL url) tai getImage(URL url, String name). Eli käytännössä

Image cursorImage = getImage(getCodeBase(), "cursor.gif");

feenix [19.02.2007 13:37:45]

#

Sami kirjoitti:

Varmasti toimiva tapa ladata kuvia appletissa on käyttää Applet-luokan metodia getImage(URL url) tai getImage(URL url, String name). Eli käytännössä

Image cursorImage = getImage(getCodeBase(), "cursor.gif");

Kunhan muistaa, että appletti saa ottaa vakiona veppiyhteyksiä vain siihen hostiin josta sekin on ladattu.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta