Lancer des fichiers java externes au programme - Java - Programmation
Marsh Posté le 08-05-2008 à 23:46:53
Avec Java 1.6
Fait une interface pour tes fichier generé qui sera déjà compilé.
interface IMain
interface IUniverse
Compile ta class a l'aide de javax.tools.JavaCompiler
Aide : http://mindprod.com/jgloss/javacompiler.html
private static boolean compile( JavaFileObject... source )
{
final JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
final JavaCompiler.CompilationTask task = compiler.getTask( null
/* default System.err */,
null
/* standard file manager,
If we wrote our own we could control the location
of the generated class files. */,
null
/* standard DiagnosticListener */,
null
/* no options */,
null
/* no annotation classes */,
// we must convert JavaFileObject... to Iterable<? extends JavaFileObject>
Arrays.asList( source )
/* source code */ );
return task.call();
}
-------------------
Ensuite crée une instance de ta classe compilé :
IUniverse universe =
( IUniverse ) ClassLoader.getSystemClassLoader().loadClass("Universe" )
Et call la fonction souhaité
universe.destroy!!!
Marsh Posté le 06-05-2008 à 10:32:41
Bonjour, depuis mon programme principal, je souhaite pour lancer un fichier Main.java et Universe.java qui se trouve dans un dossier du programme (chemin: .//generated/Main.java et .//generated/Universe.java). Le Main.java instancie Universe et rend la fenêtre visible:
et c'est l'Universe qui va afficher une scène 3D.
Dans mon programme principal, j'ai une méthode ApercuButtonMouseClicked() et je souhaite lancé mes fichiers java à partir de là. J'ai essayé quelque chose comme ça avec des process, sans résultat: