如何让 CMD 进程的输出显示在我的 GUI 中?这是我用来运行该过程的代码:
try {
String line;
Process p = Runtime.getRuntime().exec("cmd /c \"e:\\folder\\someCommands.cmd\"");
BufferedReader input =
new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line);
}
input.close();
} catch (Exception err) {
err.printStackTrace();
}
我试过这样做:
jLabel1.setText(line);
...但是 GUI 在进程运行时完全锁定,所以直到最后才更新任何内容,这不是很有用。除此之外,CMD 工作正常。我只想实时显示输出。
最佳答案
设置标签文本后是否重绘()?
无论如何,您通常应该对在 GUI 事件线程上执行长时间操作犹豫不决。考虑使用 SwingWorker
相反。
关于java - 在我的 GUI (java) 中显示 CMD 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/667416/