게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[JAVA] JButton클릭을 통한 ProcessBuilder 작동관련
게시물ID : programmer_11159짧은주소 복사하기
작성자 : 코드입력
추천 : 0
조회수 : 1247회
댓글수 : 5개
등록시간 : 2015/06/11 18:19:05
옵션
  • 베스트금지
  • 본인삭제금지
안녕하세요.
컴퓨터 비 전공자 입니다...
공학계열이 아닌 연구실에서..
여러개의 외부 JAVA 프로그램을 실행하도록 구축한 *.bat 작성과, 해당 *.bat 파일을 자동으로 실행하는
JAVA 프로그래밍을 하는 도중에 질문이 생겨서 글을 올립니다.
 
제가 처한 사항은 다음과 같습니다.
  - Swing 으로 GUI 환경 구축
  - JButton 클릭시 *.bat 파일(1분 이상 실행됨)을 ProcessBuilder를 통해 구동
  - *.bat 내에 구현하도록 설정한 외부 java 프로그램 Freezing 현상발생
 
이상하게도,
Button 클릭을 통하여  *.bat 을 실행하면, *.bat 실행 도중 외부 프로그램이 멈춰 버립니다.
  - GUI를 제거하고 Main 에서 직접 *.bat 실행 시 아무 문제가 없습니다.
  - GUI를 생성하고, Button 클릭에 상관없이 GUI 로드시 *.bat을 실행할 때에도 아무 문제가 없습니다.
 
ActionListener를 거쳐 ProcessBuilder를 사용하면 문제가 발생하네요..
 
 
문제 해결을 위해 다음과 같은 검색을 시도해 봤습니다.
 
1. 구글검색 : java ProcessBuilder freezing swing
   - 해당 검색결과의 문서를 읽어보면, swing이 freeze되는 경우를 설명하고 있습니다.
   - 저는 ProcessBuilder를 위한 thread 생성을 통해 swing이 freeze되는 일을 방지했기때문에,
   - 해당 문서들은 저에게 도움이 되지 않았습니다.
 
2. 구글검색 : java Swing Thread
   -" Swing또한 새로운 Thread로 처리해야 문제가 해결되지 않을까??" 라는 생각으로 검색해봤습니다.
   - 하지만, 아무 효과가 없었습니다.
   - 역시나 *.bat이 실행되다가 제 GUI가 아니라 *.bat 실행중에 멈춰버립니다.
 
도움 부탁드려요. ㅠㅠㅠ
* ps :  *.bat 실행중 Freeze 될때, 제 GUI의 Frame을 종료시키면 Freeze가 풀려 *.bat이 성공적으로 수행됩니다....
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호