Làm thế nào tôi có thể nhận được kết quả từ một quy trình CMD để hiển thị trong GUI của tôi? Đây là mã tôi đang sử dụng để chạy quá trình:Hiển thị đầu ra CMD trong GUI (java)
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();
}
Tôi đã cố gắng làm điều này:
jLabel1.setText(line);
... nhưng GUI là hoàn toàn bị nhốt trong khi quá trình đang chạy, vì vậy không có gì cập nhật cho đến khi kết thúc, mà không phải là rất hữu ích. Khác hơn là CMD hoạt động tốt. Tôi chỉ muốn hiển thị đầu ra trong thời gian thực.
Có lý do nào bạn muốn sử dụng JLabel thay vì và JTextArea không? – OscarRyz
Đề xuất xóa thẻ thời gian thực khỏi câu hỏi này. Xem http://en.wikipedia.org/wiki/Real-time để biết định nghĩa về tính toán thời gian thực – andersoj
Câu trả lời này từ ["Monkey Phần mềm"] (http://stackoverflow.com/users/8946/software-monkey) nên làm: –
OscarRyz