如何在其他java应用程序(非gui)的java gui中显示输出?

如何在其他java应用程序(非gui)的java gui中显示输出?,java,swing,Java,Swing,请帮助我理解如何获取常规java工具的输出并在JavaSwing应用程序的textArea组件中显示它? 常规java应用程序(不是gui)已经可以通过cmd获取文件,并在控制台中进行输出。 现在,我的场景是,当我在JavaGUI中加载文件时,里面的所有数据都将被发送到这个Java应用程序(jar文件而不是Gui)。 我确实喜欢这个,但我更喜欢这个。在哪里发送输入?以及如何获取输出流以便在JavaGUI应用程序的textArea中显示它。 下面的代码在JavaGUI应用程序中 Strin

请帮助我理解如何获取常规java工具的输出并在JavaSwing应用程序的textArea组件中显示它? 常规java应用程序(不是gui)已经可以通过cmd获取文件,并在控制台中进行输出。 现在,我的场景是,当我在JavaGUI中加载文件时,里面的所有数据都将被发送到这个Java应用程序(jar文件而不是Gui)。 我确实喜欢这个,但我更喜欢这个。在哪里发送输入?以及如何获取输出流以便在JavaGUI应用程序的textArea中显示它。 下面的代码在JavaGUI应用程序中

    String cmd =MessageFormat.format("java -jar tooling-gott-extended.jar -defaultMID {0} -urls {1} -src {2} -exclude {3}", 
                    comboBoxMid.getSelectedItem(),
                    comboBoxGate.getSelectedItem(),
                    selectedFileTC.toString(),
                    " ");


            ProcessBuilder   pb = new ProcessBuilder(cmd);
            pb.redirectErrorStream(true);
            Process  p = pb.start();

BufferedReader input = new BufferedReader(new 
                                        InputStreamReader(p.getInputStream()));

我发现了如何做到这一点,这里是代码如何执行它,如果有人需要它。 但我现在还有另一个挑战。在gui应用程序的textArea中,我并没有看到任何内容,直到它在cmd中完成执行。如何显示并行

String path = "C:\\Eclipse\\workspace_automation\\gui-tool\\java.jar";
    String cmd = MessageFormat.format("java -jar {0}  param1 {1} param2 {2} param3 {3}", path,
            comboBoxMid.getSelectedItem(), comboBoxGate.getSelectedItem(), selectedFileTC.toString());

    ProcessBuilder pb = new ProcessBuilder("cmd", "/c", cmd);
    pb.redirectErrorStream(true);
    Process p = pb.start();
    BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));

    String line;
    while (true) {
        line = r.readLine();
        if (line == null) {
            break;
        }
        System.out.println(line);
        textArea.append("\n"+line);
    }

您想在
jtextArea
中写入的字符串或数据在哪里?实际上,该文件已被选中FileTC…所有数据都在其中..我只发送了该文件的路径,常规java应用程序(我们称之为mainAPP)将管理该文件,当mainAPP通过上面的命令cmd获取文件路径时,它将输出所有信息和数据。那么,我是否需要在mainAPP中进行更改以将其放入流而不是控制台输出?有什么问题吗?gui部分(也在表单上打印字符串)?如果是这样,请发布gui部分的代码,但输入如何,以这种方式从gui发送到其他java应用程序是否足够?鉴于
ProcessBuilder
正在启动java应用程序,可能更好(更容易)让当前JVM直接启动它。为了更快地获得更好的帮助,请发布一个or。