webForumDet fria alternativet

Ladda bilder i JApplet från webbserver

2 svar · 200 visningar · startad av The_Hulk

The_HulkMedlem sedan juni 20031 937 inlägg
#1

Hejsan!

Har lite problem när jag försöker ladda in bilder i en JApplet.

hittade denna koden innan här på wf

  public Image loadImage(String filename)
  {
    Image image = null;
    try{
      URL fileurl = ClassLoader.getSystemResource(filename);
      image = this.getToolkit().getImage(fileurl);
      MediaTracker tracker = new MediaTracker(this);
      tracker.addImage(image, 0);
      tracker.waitForID(0);
    }
    catch(Exception e)
    {
      System.err.println("Eror loading image: " + filename);
    }
    return image;
  }

det fungerar jättebra när jag kör den i appletviewer men inte när jag kör den i en webbläsare från en webbserver.

debuggade koden lite och kom fram till att jag får en nullPointerException på rad 89 som är

      image = this.getToolkit().getImage(fileurl);

någon som vet varför this eller värdet från getToolkit() är null?

känns ju inte som this ka nvara null så då måste det vara getToolkit() men varför är den null, eller rättarsagt, varför är returvärdet null?

måste man göra något speciellt när man ärver från en JApplet?
jag gör absolut ingenting innan jag försöker ladda bilderna.
Ska man initiera JApplet på något speciellt sätt?

Förresten så anger jag hela sökvägen till bilderna inkl http....

Har det någon betydelse om man lägger allt i en JAR-fil?
har testat det men fick samma resultat.

Är väldigt tacksam för alla försök till att förklara detta för mig.

jmeMedlem sedan maj 20011 967 inlägg
#2

Image image = new ImageIcon(getCodeBase(), "bild.jpg").getImage();

Shorthand för:

ImageIcon icon = new ImageIcon(getCodeBase(), "bild.jpg");
Image image = icon.getImage();

The_HulkMedlem sedan juni 20031 937 inlägg
#3

då får jag problem med att getCodeBase() returnerar null.

Genererad på 384 ms · cache AV · v20260730165559-full.f96bc7eb