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