Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1121 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Lancer des fichiers java externes au programme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lancer des fichiers java externes au programme

n°1728905
D4m'$
Posté le 06-05-2008 à 10:32:41  profilanswer
 

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:  

Code :
  1. public static void main(String[] args) {
  2.         // TODO code application logic here
  3.         Universe myUniverse = new Universe();
  4.         myUniverse.setSize(900,900);
  5.         myUniverse.setVisible(true);
  6. }


 
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:

Code :
  1. private void ApercuButtonMouseClicked(java.awt.event.MouseEvent evt) {                                       
  2.         try {
  3.             Process proc1 = Runtime.getRuntime().exec("javac .//generated/Main.java" );
  4.             Process proc2 = Runtime.getRuntime().exec("javac .//generated/Universe.java" );
  5.             Process proc3 = Runtime.getRuntime().exec("java Main" );
  6.             Process proc4 = Runtime.getRuntime().exec("java Universe" );
  7.         } catch (IOException e) {
  8.             System.out.println("catch!" );
  9.         }
  10. }

mood
Publicité
Posté le 06-05-2008 à 10:32:41  profilanswer
 

n°1730088
grisensko
Posté le 08-05-2008 à 23:46:53  profilanswer
 

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!!!
 
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Lancer des fichiers java externes au programme

 

Sujets relatifs
Générer des mail quel format de fichiers?Formulaire java/html
[Java] Déformer une image...Exeption JAVA
Temps d'execution d'un programme - question rapideIntégrer base de données dans java
telechargement restreint de fichiers pour user ds bd[Résolu] gestion mémoire en java
[batch] lancement d'un programme pour une durée donnéeWord - Supprimer lignes vides dans 5000 fichiers
Plus de sujets relatifs à : Lancer des fichiers java externes au programme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR