GUI에 입력 된 매개 변수로 실행 가능한 명령 행을 실행하고 싶습니다.GUI에서 명령 행 도구 시작하기
Process
클래스는 자바 응용 프로그램에서 내 필요한 명령 행 프로세스를 포크로 사용하고, 나는 결과를 얻을 수 Process
개체의 getInputStream()
방법을 사용하고이 GUI에 표시 도착 할 수 있습니다.
private void confirmActionPerformed(java.awt.event.ActionEvent evt) {
String output;
try {
Process p = Runtime.getRuntime().exec("my command line exe with parameters");
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((output = stdInput.readLine()) != null) {
TextField.setText(TextField.getText()+output+"\n");
}
} catch (IOException e) {
System.out.println("Exception in Process");
e.printStackTrace();
}
}
이
는 버튼을 누르면 이벤트의 이벤트 리스너 내 코드와 나는 텍스트 필드의 과정 (자바 스윙 구성 요소)의 결과를 표시하려고했습니다.이 프로세스는 실제로 오랜 기간 동안 실행되며 명령 줄에서 실행될 때 및 실행시 일부 통계를 표시하지만 위의 코드로 GUI에서 시도하면 전체 통합 결과가 프로세스 종료 실행 중. TextField
이 실행 중일 때 업데이트되지 않습니다.
이 문제의 근본 원인은 무엇입니까?