[Java] Applet crashed door plaatje

Pagina: 1
Acties:

  • killerbee17
  • Registratie: November 2003
  • Laatst online: 15-06-2024
Ik heb een applet die gebruik maakt van een imageicon. Alleen de applet wil niet laden in IE/opera. In de appletviewer van blueJ werkt ie wel gewoon.

code:
1
plaatje = new ImageIcon("kaart.jpg");

Nou schijnt het te komen doordat ie het plaatje niet kan laden ivm rechten ofzoiets. Ook heb ik de term applet signen voorbij zien komen.

Ik krijg de volgende foutmelding:
code:
1
java.security.AccessControlException: access denied (java.io.FilePermission kaart.jpg read)


Wat moet ik doen?

[ Voor 21% gewijzigd door killerbee17 op 21-10-2005 15:38 ]

wwweet ik veel...


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Je krijgt deze foutmelding omdat een Applet het niet toelaat dat je files van de client gaat inlezen. Aangezien een Applet client-side draait, wil hij deze kaart.jpg dus lezen op de client pc.

Je zal dus die image moeten inladen met de getDocumentBase() of getCodeBase(), die dan wel refereren naar het serveradres.

  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Of zorg ervoor dat je applet in een Jar file zit en dat de kaart.jpg in je jar file zit. Dan heb je ook geen problemen.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


  • killerbee17
  • Registratie: November 2003
  • Laatst online: 15-06-2024
kan je een jar file dan ook als applet in een website laden?

En die methodes getDocumentBase() of getCodeBase(). Van welke klasse zijn die en hoe gebruik je die?

[ Voor 47% gewijzigd door killerbee17 op 21-10-2005 19:42 ]

wwweet ik veel...


  • Wmm
  • Registratie: Maart 2002
  • Laatst online: 19-04 22:57

Wmm

killerbee17 schreef op vrijdag 21 oktober 2005 @ 17:38:
kan je een jar file dan ook als applet in een website laden?

En die methodes getDocumentBase() of getCodeBase(). Van welke klasse zijn die en hoe gebruik je die?
Ja, dat kan. Daar is wel info over te vinden in de tutorials van Sun zelf.
getDocumentBase() en getCodeBase() komen uit de class Applet, de class JApplet erft die methodes gewoon. Maar dit had je ook gewoon op kunnen zoeken :).

  • killerbee17
  • Registratie: November 2003
  • Laatst online: 15-06-2024
Ik heb het nu voor elkaar dat de applet vanuit de jar in een html pagina draait. Maar de plaatjes, waar het probleem mee begonnen is, worden niet afgebeeld.

Als ik de html pagina locaal draai (vanaf mn bureaublad) werkt het zoals hierboven staat, maar vanaf een server crasht ie nog steeds met dezelfde error.

[ Voor 39% gewijzigd door killerbee17 op 24-10-2005 13:40 ]

wwweet ik veel...


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021

  • killerbee17
  • Registratie: November 2003
  • Laatst online: 15-06-2024
als ik het plaatje met getCodeBase() aanroep krijg ik nog steeds de error:
code:
1
java.security.AccessControlException: access denied (java.io.FilePermission http://192.168.5.14/ikea/kaart.jpg read)
Het gaat niet om een local file. Het gaat om een aantal jpg bestanden die op de server staan, in dezelfde map (en in de jar) waar ook de applet staat.

[ Voor 49% gewijzigd door killerbee17 op 24-10-2005 16:14 ]

wwweet ik veel...


  • glmona
  • Registratie: Maart 2005
  • Laatst online: 03-04 12:09
Kan je niet gewoon je plaatje in je jar-file gooien??

  • momania
  • Registratie: Mei 2000
  • Laatst online: 26-04 10:42

momania

iPhone 30! Bam!

killerbee17 schreef op maandag 24 oktober 2005 @ 16:12:
als ik het plaatje met getCodeBase() aanroep krijg ik nog steeds de error:
code:
1
java.security.AccessControlException: access denied (java.io.FilePermission http://192.168.5.14/ikea/kaart.jpg read)



[...]


Het gaat niet om een local file. Het gaat om een aantal jpg bestanden die op de server staan, in dezelfde map (en in de jar) waar ook de applet staat.
Hoe roep je je applet aan? ook via http://192.168.5.14/ :?

Neem je whisky mee, is het te weinig... *zucht*


  • killerbee17
  • Registratie: November 2003
  • Laatst online: 15-06-2024
glmona schreef op dinsdag 25 oktober 2005 @ 10:40:
Kan je niet gewoon je plaatje in je jar-file gooien??
het plaatje zit al in de jar file
Ik heb beide manieren geprobeerd.

wwweet ik veel...


  • glmona
  • Registratie: Maart 2005
  • Laatst online: 03-04 12:09
Je maakt een package images aan en daar zet je het bestand in, in windows/linux is deze package gewoon een map.
Daarna:
Java:
1
plaatje = new ImageIcon("images/kaart.jpg");


Kan niet missen...

[ Voor 9% gewijzigd door glmona op 26-10-2005 11:29 ]


  • killerbee17
  • Registratie: November 2003
  • Laatst online: 15-06-2024
glmona schreef op woensdag 26 oktober 2005 @ 11:28:
Je maakt een package images aan en daar zet je het bestand in, in windows/linux is deze package gewoon een map.
Daarna:
Java:
1
plaatje = new ImageIcon("images/kaart.jpg");


Kan niet missen...
Een package, bedoel je daarmee een jar bestand?

wwweet ik veel...


  • killerbee17
  • Registratie: November 2003
  • Laatst online: 15-06-2024
*SCHOP!*

Ik moet dit eigenlijk vrijdag inleveren. dus .... HELP!!!!

wwweet ik veel...


  • momania
  • Registratie: Mei 2000
  • Laatst online: 26-04 10:42

momania

iPhone 30! Bam!

Heb je het plaatje nou in de jar zitten waar ook je Applet in zit?
En in welke folder/package staat hij en hoe open je hem dan?

Neem je whisky mee, is het te weinig... *zucht*


  • killerbee17
  • Registratie: November 2003
  • Laatst online: 15-06-2024
In de jar staan alle bestanden die de applet nodig heeft.

Ik begrijp niet helemaal wat een package is.

wwweet ik veel...


  • JnX
  • Registratie: Februari 2001
  • Laatst online: 18-01 22:08

JnX

JAVA kent zelf een goede documentatie. Kijk eens op de volgende pagina's, daar staat het uitgebreid uitgelegd:

http://java.sun.com/docs/...onents/applet.html#images
http://java.sun.com/docs/...ing/misc/icon.html#applet

  • killerbee17
  • Registratie: November 2003
  • Laatst online: 15-06-2024
Het werkt!!

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
protected ImageIcon laadPlaatje(String bestand) 
{
   String path = bestand;
   int MAX_IMAGE_SIZE = 25705;  //Change this to the size of
                                 //your biggest image, in bytes.
    int count = 0;
    BufferedInputStream imgStream = new BufferedInputStream(
       this.getClass().getResourceAsStream(path));
    if (imgStream != null) {
        byte buf[] = new byte[MAX_IMAGE_SIZE];
        try {
            count = imgStream.read(buf);
            imgStream.close();
        } catch (java.io.IOException ioe) {
            System.err.println("Couldn't read stream from file: " + path);
            return null;
        }
        if (count <= 0) {
            System.err.println("Empty file: " + path);
            return null;
        }
        return new ImageIcon(Toolkit.getDefaultToolkit().createImage(buf));
    } else {
        System.err.println("Couldn't find file: " + path);
        return null;
    }
 }


en dan:
code:
1
plaatje = laadPlaatje("kaart.jpg");


Heel erg bedankt voor de hulp!

wwweet ik veel...

Pagina: 1