Hi,
ich möchte für mein Programm ein Plugin-System schreiben. Ich hab mir das so gedacht:
Es gibt einen Ordner "Plugins" bei meinem Programm. Darin hat jedes einzelne Plugin einen Ordner, der den Namen des Plugins festlegt. Darin ist wiederum eine .CLASS-Datei, die den Code für einen JInternalFrame enthält, der dann wiederum vom Programm aufgerufen wird. So könnte man dann ganz einfach Plugins in Java schreiben.
Dazu wollte ich dann eine Klasse "PluginLoader" schreiben, die diesen Frame dann aus der Klasse lädt und über eine Methode zurückgibt, sodass man nur noch schreiben müsste:
Der PluginLoader müsste also über einen Dateipfad eine beliebige Class-Datei (die von JInternalFrame abgeleitet ist) laden, instanzieren und zurückliefern. Ist das überhaupt möglich? Und wenn ja, wie?
Oder wenn nein, wie könnte man noch ein Plugin System ohne eine eigene Skriptsprache realisieren?
Jetzt schon mal vielen, vielen Dank für die Hilfe!
Edit: Geht es vielleicht mit dem ClassLoader? Wenn ja, kan mir jemand ein Beispiel geben, ich versteh das in der Dokumentation nicht so ganz ...
ich möchte für mein Programm ein Plugin-System schreiben. Ich hab mir das so gedacht:
Es gibt einen Ordner "Plugins" bei meinem Programm. Darin hat jedes einzelne Plugin einen Ordner, der den Namen des Plugins festlegt. Darin ist wiederum eine .CLASS-Datei, die den Code für einen JInternalFrame enthält, der dann wiederum vom Programm aufgerufen wird. So könnte man dann ganz einfach Plugins in Java schreiben.
Dazu wollte ich dann eine Klasse "PluginLoader" schreiben, die diesen Frame dann aus der Klasse lädt und über eine Methode zurückgibt, sodass man nur noch schreiben müsste:
Code:
PluginLoader myLoader = new PluginLoader();
JInternalFrame pluginFrame = myLoader.loadPlugin("Plugins/MeinPlugin/PluginKlasse.class");
Der PluginLoader müsste also über einen Dateipfad eine beliebige Class-Datei (die von JInternalFrame abgeleitet ist) laden, instanzieren und zurückliefern. Ist das überhaupt möglich? Und wenn ja, wie?
Oder wenn nein, wie könnte man noch ein Plugin System ohne eine eigene Skriptsprache realisieren?
Jetzt schon mal vielen, vielen Dank für die Hilfe!
Edit: Geht es vielleicht mit dem ClassLoader? Wenn ja, kan mir jemand ein Beispiel geben, ich versteh das in der Dokumentation nicht so ganz ...