【发布时间】:2010-10-14 14:57:09
【问题描述】:
如何让 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 工作正常。我只想实时显示输出。
【问题讨论】:
-
来自"Software Monkey" 的答案应该是:stackoverflow.com/questions/342990/…>
-
你有什么理由要使用 JLabel 而不是 JTextArea 吗?
-
建议从这个问题中删除实时标签。实时计算的定义见en.wikipedia.org/wiki/Real-time
标签: java user-interface swing cmd real-time