[JAVA] Plaatjes;in appletviewer wel / browser niet

Pagina: 1
Acties:

  • Wouter
  • Registratie: September 2000
  • Niet online
Ik ben bezig met een simpele applet, maar nu wil ik dus voor het eerst wat plaatjes gaan gebruiken.

Zoals ik het nu heb werkt het perfect in de appletviewer,
maar zodra ik het ik een browser wil bekijken blijft mijn applet grijs en geeft de error:
code:
1
exception: com.ms.security.SecurityExceptionEx[GUI.init]: cannot access file login.jpg

Files staan gewoon netjes bij elkaar in 1 dir :{

dit is de code van m'n applet:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import java.awt.*;
import java.applet.Applet;

public class GUI extends Applet
{
    
    Panel login;
    TextField user, pass;
    Button passcheck;    
    Image loginImage, loginBG;
    Toolkit tk = Toolkit.getDefaultToolkit();
    
    
    public void init()
    {
 

      this.setLayout(null);
      this.setBackground(new Color(200,200,200));
      
      login = new Panel();    
      login.setLayout(null);
      login.setBounds(136,117,240,149);
      login.setBackground(new Color(100,200,200));    
      this.add("Center",login);  
     
      user = new TextField(10);
      user.setBounds(100,30,120,25);
      user.setBackground(new Color(78,97,114));
      login.add(user);
      
      pass = new TextField(10);
      pass.setBounds(100,60,120,25);
      pass.setBackground(new Color(78,97,114));
      login.add(pass);
      
      passcheck = new Button("Invoeren");
      passcheck.setBounds(100,90,120,25);
      passcheck.setBackground(new Color(60,80,100));
      login.add(passcheck);
      
            
      loginImage = tk.getImage("login.jpg");    
      loginBG = tk.getImage("loginbg.jpg");
      
            
    }   
    
    
    public void paint(Graphics g)
    {     
     
     this.getGraphics().drawImage(loginBG,0,0,this);     
     login.getGraphics().drawImage(loginImage,0,0,this);
     
    }
    
}

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Staat je plaatje op dezelfde server als waar je jar ook op staat? Als dit niet zo is is dit het probleem ivm security.

hmmm.. ik heb niet goed gelezen:
files stan gewoon netjes bij elkaar in 1 dir

  • Wouter
  • Registratie: September 2000
  • Niet online
Op zaterdag 02 maart 2002 18:06 schreef Alarmnummer het volgende:
Staat je plaatje op dezelfde server als waar je jar ook op staat? Als dit niet zo is is dit het probleem ivm security.

hmmm.. ik heb niet goed gelezen:
[..]
wat is een jar?

ik heb een .html en een .class :?
en die 2 jpegs

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Als je programma groter gaat worden en je dus meerdere class files nodig gaat hebben is het voordeliger om al deze class files (en eventueel resources) in te pakken in een zip bestandje en dat is een jar :)

Een 'normale' internet applet die kan geen resources ophalen behalve van zijn eigen server (en vanuit zijn eigen jars). Ik denk dat jouw "login.jpg" verwijzing om die reden niet wordt goed gekeurd. Een applet zou als hij zo word uitgevoerd op de client zijn computer de client zijn harde schijf aan kunnen spreken, want dat staat hier tenslotte.

Ik kan eigelijk geem simpele opl. voor jouw probleem bedenken want ik maak zelf nooit applets.

Je zou er voor kunnen kiezen om even een webserver op je computer te plaatsen en dan ff die html pagina de hoofd pagina te maken. En dan kan je gewoon zeggen:

"http://xxx.xxx.xxx.xxx/login.jpg"

en dan ff jouw ip op die xjes zetten. Maar dit is wel een vrij grote omweg. Misschien dat iemand anders een betere opl. heeft.

  • Wouter
  • Registratie: September 2000
  • Niet online
Op zaterdag 02 maart 2002 18:12 schreef Alarmnummer het volgende:
Je zou er voor kunnen kiezen om even een webserver op je computer te plaatsen en dan ff die html pagina de hoofd pagina te maken. En dan kan je gewoon zeggen:

"http://xxx.xxx.xxx.xxx/login.jpg"

en dan ff jouw ip op die xjes zetten. Maar dit is wel een vrij grote omweg. Misschien dat iemand anders een betere opl. heeft.
nope, dat werkt niet; http://wognum.xs4all.nl/java/index.html

:(

mischien als ik het bij elkaar in zo'n jar zet?

Al heb ik geen flauw idee hoe ik zoiets maak

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Heb je nog iets aan je code veranderd? Dus de verwijzing naar die jpg.

  • Wouter
  • Registratie: September 2000
  • Niet online
Op zaterdag 02 maart 2002 18:24 schreef Alarmnummer het volgende:
Heb je nog iets aan je code veranderd? Dus de verwijzing naar die jpg.
ja

"http://wognum.xs4all.nl/java/login.jpg" werkte niet
"http://localhost/java/login.jpg" werkte niet3
"http://213.84.187.15/java/login.jpg" werkte niet

:(

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

hmmm... ik kan het me bijna niet voorstellen ivm de foutmelding, maar kan het zijn dat je de namen van die plaatjes niet lower case hebt? Want daar kan java over struikelen (ervaring :P )

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

cursus jarren:
http://java.sun.com/products/jdk/1.1/docs/guide/jar/jarGuide.html

en misschien kan je hier iets vinden:
http://search.java.sun.com/
hier kijk ik als eerst als ik iets niet weet en meestal kan ik hier ook een opl.

  • Wouter
  • Registratie: September 2000
  • Niet online
:{
Op zaterdag 02 maart 2002 18:27 schreef Alarmnummer het volgende:
hmmm... ik kan het me bijna niet voorstellen ivm de foutmelding, maar kan het zijn dat je de namen van die plaatjes niet lower case hebt? Want daar kan java over struikelen (ervaring :P )
filenames van die plaatjes zijn lowercase


jar file maken hielp iig niet

ga nu eerst eten, kijk straks wel op die site... maar had ook al in de help file gekeken bij 'image' en ik heb het precies zo gedaan als het daar stond :{

  • Wouter
  • Registratie: September 2000
  • Niet online
hij doet het!

ik heb getImage vervangen door gebruik te maken van deze methode:
code:
1
2
3
4
5
6
7
8
9
10
11
    public Image geefAfbeelding(String bestandsnaam)
    {
        Image ImageToBeLoaded = getImage(getDocumentBase(), bestandsnaam);
        MediaTracker tracker1 = new MediaTracker(this);
        tracker1.addImage(ImageToBeLoaded, 0);
        
        try {tracker1.waitForID(0);}
        catch (InterruptedException e) {}
      
        return ImageToBeLoaded;
    }

Die ik uit een ander topic heb gevist :)

  • nxt
  • Registratie: November 2001
  • Laatst online: 26-08 13:51

nxt

Op zaterdag 02 maart 2002 20:23 schreef . w o u t e r . het volgende:
hij doet het!
gelukkig doet ie het,
maar wellicht is het handig om te weten dat omdat je de class Applet extend, je al een method getImage tot je beschikking hebt.
dat zal dan zoiets worden
code:
1
getImage(getDocumentBase(),"filename.jpg")

(de methods getImage() en getDocumentBase() zitten in Applet.class en staan dus direct tot je beschikking)
en Toolkit werkt niet zo goed met applets, die is handiger voor het gebruik bij applicaties.
Pagina: 1