# Klassen nachladen



## bravedreamer (2. Mai 2005)

Hi Leute

Ich hab ein kleines Problem: Ich möchte in einem Applet eine Klasse nachladen. Ich bin mir sicher dass das gehen muss, habe aber nichts gefunden. 
Aufgabenstellung: Ich soll ein Applet schreiben, das ein Bild anzeigt und auf dieses Bild sollen verschiedene Filter anwendbar sein. Die Klassen, in denen die Filter drin sind, werden durch ein Config-File angegeben. Um einen Filter auf ein Bild anzuwenden, muss ich die Klasse mit dem Filter instantiieren. Das geht aber nicht.
Ein Beispiel:
Ich habe ein Apple und die Klassen Filter und LinearFilter. Die Klasse Filter ist hierbei die Super-Klasse von LinearFilter.
Im Applet wird in einem Menü nun ausgewählt, dass ein linearer Filter auf das Bild angewendet werden muss. Nun müsste ich die Klasse LinearFilter instantiieren. Die Klasse liegt aber auf dem Server. Ich versuche nun einen http-Connection aufzubauen, den Bytecode herunterzuladen und die Klasse mit einem Classloader zu erstellen. Geht aber nicht.
Ich erhalte eine java.security.AccessControlException: access denied (java.lang.RuntimePermission createClassLoader) Fehlermeldung.

Wie soll ich das also machen? Wie macht ihr denn das??

danke


----------



## L-ectron-X (2. Mai 2005)

Wenn alle Klassen deines Applets auf dem Server liegen, werden die benötigten beim Instanziieren automatisch nachgeladen. Man braucht also nicht extra eine Verbindung herstellen.


----------



## bravedreamer (2. Mai 2005)

Ja, wenn ich beim kodieren schon weiß welche Klasse, dann schon.

Es ist aber, dass ich nur den Klassennamen weiß (weil der Benutzer den Filter ja auswählen kann). Ich weiß also, dass ich z.B. die Klasse linearFilter.java (bzw. .class) laden muss. 
Wenn es kein Applet wäre, würde ich das über die Funktion Class.forName() machen. Das funktioniert aber nicht, da sich die Klasse ja auf dem server befindet und nicht local. 

Weiter Vorschläge???


----------



## L-ectron-X (2. Mai 2005)

Vielleicht kommst du hier mit RMI weiter:
http://www.galileocomputing.de/openbook/javainsel4/javainsel_18_010.htm


----------



## bravedreamer (4. Mai 2005)

Kann es irgendwie auch gehen, wenn ich das Applet signiere??
Wäre das eine Möglichkeit?


----------



## L-ectron-X (4. Mai 2005)

Kann sein, ich weiß es nicht mit Sicherheit.


----------

