>  기사  >  Java  >  Java GUI에서 외부 JAR 파일을 실행하고 런타임 출력을 표시하는 방법은 무엇입니까?

Java GUI에서 외부 JAR 파일을 실행하고 런타임 출력을 표시하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-31 06:08:30761검색

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

Java GUI에서 외부 JAR 파일 실행

사용자가 버튼 클릭 및 표시로 다른 JAR 파일을 실행할 수 있는 Java GUI 애플리케이션 생성 런타임 프로세스 세부 정보는 다음 단계를 통해 수행할 수 있습니다.

외부 JAR 실행:

외부 JAR 파일을 실행하려면 Runtime.getRuntime()을 사용하여 별도의 Java 프로세스를 생성합니다. .exec(). 이 함수는 명령을 문자열로 받아 운영 체제에서 새 프로세스를 시작합니다. 예를 들어 A.jar을 실행하려면 다음 코드를 사용합니다.

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

프로세스 출력 검색:

JAR을 시작한 후 런타임 출력을 검색할 수 있습니다. 프로세스의 입력 및 오류 스트림에 액세스하여:

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

GUI에 출력 표시:

GUI에 출력을 표시하려면 다음을 사용하여 입력 및 오류 스트림을 버퍼링합니다. BufferedReader를 사용하여 줄을 하나씩 읽습니다. 그런 다음 이 줄을 GUI의 텍스트 영역이나 기타 표시 구성 요소에 추가할 수 있습니다.

예제 코드:

다음 예제 코드는 두 개의 버튼이 있는 간단한 GUI를 만듭니다. A.jar 및 B.jar을 각각 실행하고 텍스트 영역에 출력을 표시합니다.

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

위 내용은 Java GUI에서 외부 JAR 파일을 실행하고 런타임 출력을 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.