Klassen nachladen

Status
Nicht offen für weitere Antworten.

bravedreamer

Mitglied
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

Gesperrter Benutzer
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

Mitglied
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???
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben