ホームページ >Java >&#&チュートリアル >Java GUI から外部 JAR ファイルを実行し、進行状況を表示する方法

Java GUI から外部 JAR ファイルを実行し、進行状況を表示する方法

DDD
DDDオリジナル
2024-11-02 16:04:29603ブラウズ

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

Java GUI での外部 JAR の実行

質問:

Java GUI プログラム内では、押されたときに特定の JAR ファイル (A.jar および B.jar) を実行し、実行の進行状況を GUI 内に表示するボタンを有効にするとします。どうすればこれを実現できますか?

回答:

Java GUI アプリケーションとは別のプロセスで外部 JAR ファイルを実行するには、次の手順に従います:

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

ボタンがクリックされたときに、executeJar() メソッドを呼び出し、それぞれの JAR ファイル パスを渡します。これにより、JAR ファイルが実行され、その出力が GUI に表示されます。

以上がJava GUI から外部 JAR ファイルを実行し、進行状況を表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。