# Hintergrundbild für Applet



## Loooser (14. Feb 2005)

Also ich will ein Bild Laden und es geht net!
So langsam hab keine Lust mehr auf Java...
Ich weiß Soviel:
Der Mediatracker liefert 4 zurück, also Errored.


```
import java.net.MalformedURLException;
import java.net.URL;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.ImageIcon;

public class Test extends java.applet.Applet{
	int iWidth=600;
	int iHeight=450;

	private ImageIcon image;

	public void init(){
		try{image=new ImageIcon(new URL("http://tori.bittersweetblue.net/scarlet/epicdream.jpg"));}
		catch(MalformedURLException mue){}
		iWidth=image.getIconWidth();
		iHeight=image.getIconHeight();
		this.setSize(iWidth,iHeight);
		this.setBackground(Color.WHITE);
		this.setLayout(null);}

	public void paint(Graphics g){
		g.drawImage(image.getImage(),0,0,this);
		super.paintComponents(g);}
}
```

Wie geht das?


----------



## Spacerat (14. Feb 2005)

Der Fehler ist offensichtlich...

Die angegebene URL ist (defitintiv???) ein Fremdrechner. Applets ohne spezielle Rechte können nur auf die Dokument- oder Code-Basis zugreifen. Dein Beispiel liefert mit extrem hoher Sicherheit eine AccessControlException des Typs "access denied". Lösung: Die Bilddatei auf den Applet-Hoster laden und von dort mit new URL(getDocumentBase(), "./pfad/datei.name") in das Applet laden.


----------



## Loooser (15. Feb 2005)

Ich habe das selbe mit einem Link auf meinen Server versucht.
Das Bild liegt im selben verzeichnis wie das Applet,
aber es geht trotzdem nicht.


----------



## Spacerat (23. Feb 2005)

Komisch... Wie hast du denn die URL erstellt?
	
	
	
	





```
image = new URL ("pfad/datei.name"); // falsch!
```
oder
	
	
	
	





```
image = new URL (getDocumentBase(), "pfad/datei.name"); // richtig!
```
bzw
	
	
	
	





```
image = new URL (getCodeBase(), "pfad/datei.name"); // richtig!
```


----------

