Maison >Java >javaDidacticiel >Comment exécuter des fichiers JAR externes à partir d'une interface graphique Java et afficher la progression ?
Exécution de fichiers JAR externes dans une interface graphique Java
Question :
Dans un programme d'interface graphique Java , vous souhaitez activer les boutons qui, lorsqu'ils sont enfoncés, exécutent des fichiers JAR spécifiques (A.jar et B.jar) et affichent la progression de l'exécution dans l'interface graphique. Comment pouvez-vous y parvenir ?
Réponse :
Pour exécuter des fichiers JAR externes dans un processus distinct à partir d'une application Java GUI, suivez ces étapes :
<code class="java">// Import necessary libraries import java.io.InputStream; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.IOException; import java.lang.Process; import java.lang.Runtime; // Method to execute a JAR file public void executeJar(String jarPath) { try { // Execute the JAR in a separate process Process proc = Runtime.getRuntime().exec("java -jar " + jarPath); // Get the process input and error streams InputStream in = proc.getInputStream(); InputStream err = proc.getErrorStream(); // Use buffered readers to read the output efficiently BufferedReader inReader = new BufferedReader(new InputStreamReader(in)); BufferedReader errReader = new BufferedReader(new InputStreamReader(err)); // Display the output in the GUI while (inReader.ready()) { String line = inReader.readLine(); // Display the line in the GUI using appropriate method } while (errReader.ready()) { String line = errReader.readLine(); // Display the line in the GUI using appropriate method } // Close the streams inReader.close(); errReader.close(); } catch (IOException e) { // Handle the IO exception and display an error message in the GUI } }</code>
Appelez la méthodeexecuteJar() lorsque vous cliquez sur vos boutons, en transmettant les chemins de fichiers JAR respectifs. Cela exécutera les fichiers JAR et affichera leur sortie dans votre interface graphique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!