izangard_sda
Messages postés17Date d'inscriptionmercredi 7 novembre 2012StatutMembreDernière intervention30 avril 2015
-
Modifié par Whismeril le 30/04/2015 à 22:46
Bonjour à tous,
J'ai créer une application, et je lui ai intégré une partie afin de pouvoir télécharger des plugings pour ensuite charger la classe qui est à l'intérieur de celui-ci.
Ce .jar (qui est un pluging) devrais me permettre de modifier une class déjà existante dans l'application.
Ma question est la suivante: Comment dire à mon application de télécharger et exécuter le code du .jar dans la class X ?
Voilà mon code de téléchargement d'une class d'un .jar :
try {
jarFile = new JarFile(this.dir);
System.out.println(jarFile);
enu = jarFile.entries();
URL[] urls = { new URL("jar:file:" +this.dir+"!/") };
cl = URLClassLoader.newInstance(urls);
System.out.println(cl);
while (enu.hasMoreElements()) {
je = (JarEntry) enu.nextElement();
if(je.isDirectory() || !je.getName().endsWith(".class"))
{
continue;
}
// -6 because of .class
className = je.getName().substring(0,je.getName().length()-6);
className = className.replace('/', '.');
System.out.println(className);
c = cl.loadClass(className);
this.TelechargerTextAreaInfo.setText("la class télécharger est "+this.c+". \n");
}
} catch (IOException e1) {
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
Et voici le code de mon .jar :
public class testPlugin {
public static void main(String[] args) {
String typeMateriaux = "Sol";
JRadioButton jrSol3 = new JRadioButton("Sol 3");
Panneau a = new Panneau(typeMateriaux);
a.getBgroup().add(jrSol3);
a.add(jrSol3);
}
}
P.s : pour info je cherche à faire quelque chose de très simple. J'aimerais que mon pluging ajoute un bouton radio de plus dans une class X qui comporte déjà 2 boutons radio :)