Rumah > Java > javaTutorial > Bagaimana untuk Melaksanakan Fail JAR Luaran dan Paparan Output Runtime dalam GUI Java?

Bagaimana untuk Melaksanakan Fail JAR Luaran dan Paparan Output Runtime dalam GUI Java?

Mary-Kate Olsen
Lepaskan: 2024-10-31 06:08:30
asal
855 orang telah melayarinya

How to Execute External JAR Files and Display Runtime Output in a Java GUI?

Melaksanakan Fail JAR Luaran dalam GUI Java

Mencipta aplikasi Java GUI yang membolehkan pengguna melaksanakan fail JAR lain dengan klik butang dan paparan butiran proses runtime boleh dicapai melalui langkah berikut:

Jalankan JAR Luaran:

Untuk melaksanakan fail JAR luaran, buat proses Java yang berasingan menggunakan Runtime.getRuntime() .exec(). Fungsi ini mengambil arahan sebagai rentetan dan melancarkan proses baharu pada sistem pengendalian. Contohnya, untuk melaksanakan A.jar, gunakan kod berikut:

<code class="java">Process proc = Runtime.getRuntime().exec("java -jar A.jar");</code>
Salin selepas log masuk

Dapatkan Keluaran Proses:

Selepas melancarkan JAR, anda boleh mendapatkan semula keluaran masa jalannya dengan mengakses strim input dan ralat proses:

<code class="java">InputStream in = proc.getInputStream();
InputStream err = proc.getErrorStream();</code>
Salin selepas log masuk

Output Paparan dalam GUI:

Untuk memaparkan output dalam GUI anda, timbal strim input dan ralat menggunakan BufferedReader dan baca baris satu demi satu. Anda kemudian boleh menambah baris ini pada kawasan teks atau komponen paparan lain dalam GUI anda.

Kod Contoh:

Kod contoh berikut mencipta GUI ringkas dengan dua butang yang melaksanakan A.jar dan B.jar masing-masing dan memaparkan output dalam kawasan teks:

<code class="java">import javax.swing.*;
import java.awt.event.*;
import java.io.*;

public class JarExecutor extends JFrame {

    private JTextArea outputArea;
    private JButton buttonA, buttonB;

    public JarExecutor() {
        // ... // Setup GUI components

        // Create buttons
        buttonA = new JButton("A");
        buttonA.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                executeJar("A.jar");
            }
        });
        buttonB = new JButton("B");
        buttonB.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                executeJar("B.jar");
            }
        });

        // ... // Add buttons to GUI

        // Create text area for output
        outputArea = new JTextArea();
        outputArea.setEditable(false);
        outputArea.setLineWrap(true);

        // ... // Add text area to GUI
    }

    private void executeJar(String jarPath) {
        try {
            Process proc = Runtime.getRuntime().exec("java -jar " + jarPath);
            BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
            BufferedReader err = new BufferedReader(new InputStreamReader(proc.getErrorStream()));

            String line;
            while ((line = in.readLine()) != null) {
                outputArea.append(line + "\n");
            }
            while ((line = err.readLine()) != null) {
                outputArea.append(line + "\n");
            }
        } catch (IOException e) {
            outputArea.append("Error executing JAR: " + e.getMessage() + "\n");
        }
    }

    // ... // Main method
}</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Fail JAR Luaran dan Paparan Output Runtime dalam GUI Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan