Maison >Java >javaDidacticiel >Comment exécuter des fichiers JAR externes à partir d'une interface graphique Java et afficher la progression ?

Comment exécuter des fichiers JAR externes à partir d'une interface graphique Java et afficher la progression ?

DDD
DDDoriginal
2024-11-02 16:04:29596parcourir

How to Execute External JAR Files from a Java GUI and Display Progress?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn