2011-02-02 7 views
2

본질적으로 셀렌을 사용하여 웹 사이트에 표시된 필드 값을 모니터링하고 그 결과를 파일에 기록하는 스윙 응용 프로그램을 만들었습니다. 스윙 GUI를 사용하는 이유는 사용자가 JList에 추가하여 모니터링하려는 필드를 쉽게 입력 할 수 있도록하기 위해서입니다.스윙 GUI를 통해 셀렌 제어하기

모든 것이 잘 작동하지만 "모니터링 시작"(셀레늄 스레드를 생성하고 실행 함) 버튼을 클릭하면 셀레늄 스레드가 완전히 인계되어 스윙 GUI와의 상호 작용을 허용하지 않습니다.

스윙 GUI에서 "모니터링 중지"를 눌러 셀렌을 중지하고 싶습니다. 셀렌이 실행되는 동안 스윙 GUI와 상호 작용할 수 없기 때문에 불가능합니다. 사전

+0

나는 비슷한 것을 시도합니다. 스윙 GUI에 셀레늄 제어 파이어 폭스 인스턴스를 통합하는 방법을 알려줄 수 있습니까? – Alp

답변

3

귀하의 셀레늄 코드가 EDT 또는 이벤트 발송 쓰레드, 사용자 상호 작용 및 GUI 그림 스윙의 기본 스레드를 잠그고에

감사합니다. 해결 방법은 SwingWorker 객체를 사용하는 등의 백그라운드 스레드에서 셀렌 코드를 호출하는 것입니다. 이 작업 방법에 대한 자세한 내용은 SwingWorker 자습서에서 확인할 수 있습니다. Concurrency in Swing

이 문제가 해결되면 "모니터링 중지"JButton을 사용할 수 있습니다.

+0

와우, 고마워요, 모든 것이 지금 작동합니다! :) – Steven

+0

당신을 환영합니다! 귀하의 프로젝트와 함께 행운을 빈다. –