저는 백그라운드에서 계산을 수행하는 SwingWorker를 가지고 있습니다.이 작업은 재정의 된 doInBackground()
메서드에 있습니다. 따라서 계산을 시작하려면 execute()
메서드를 사용하십시오. 어떻게 완료되면이 계산 결과를 얻을 수 있습니까?SwingWorker 결과 얻기
답변
done
메서드를 재정 의하여 - 작업이 완료되면이 메서드가 호출됩니다. How do I use SwingWorker in Java?
당신은 결과를 검색 할 get
를 호출 할 수 있지만, 노동자 그렇게하지 않을 경우 근로자가 완료 될 때까지 스레드가 차단됩니다 Improve Application Performance With SwingWorker in Java SE 6
는 또한 다른 SO 질문 참조 : 오라클은 여기에 포괄적 인 튜토리얼이 있습니다. 즉, 작업 발송자가 완료되지 않은 경우 GUI (Event Dispatch Thread)에서 get
으로 전화하면 응답이 없습니다. 작업자가 완료했는지 확인하려면 isDone
으로 전화하십시오.
마지막으로, 작업 완료 시점을 포함하여 작업자 진행 상태를 알리기 위해 속성 변경 리스너를 첨부 할 수 있습니다. 내가 게시 한 첫 번째 링크는 그 예입니다.
정확하게 return 문이 필요합니다. 내 작업자의 doInBackground 메서드를 호출하면 어떻게됩니까? – dizpers
그냥 실행되어 EDT를 차단할 수 있습니다. 대신, 예제에서 볼 수 있듯이 worker를 인스턴스화하고'execute() '한다. – trashgod
@dizpers _dizpers _ 무슨 일이 일어 났을 까, 그냥 doInBackground_ hell이 느슨한 것을 깨뜨린다 ;-) 언제나처럼 ** 무언가를 잘못 했음 ** - java 문서와 동시성 튜토리얼 장에서 폭넓게 설명 된 사용법을 고수하라. 스윙 – kleopatra
- 1. SwingWorker 작업에서 execute()를 사용하는 이상한 결과
- 2. 결과 얻기
- 3. Swingworker Timeout
- 4. 바코드 스캔 결과 얻기
- 5. 얻기 잘못된 결과
- 6. OpenMP에서 잘못된 결과 얻기
- 7. SQL에서 하나의 결과 얻기
- 8. 스크립팅을위한 ntpdate 결과 얻기
- 9. 계산기로 Java에서 결과 얻기
- 10. Android : 서비스에서 결과 얻기
- 11. mysql_query 삽입물에서 결과 얻기
- 12. 사람마다 최대 결과 얻기
- 13. 비동기 메서드의 결과 얻기
- 14. 얻기 결과 3
- 15. startActivityForResult에서 결과 얻기
- 16. iOS - 헤더 결과 얻기
- 17. PostgreSQL : 함수 결과 얻기
- 18. AsyncTask에서 결과 얻기
- 19. PrintDialog의 결과 얻기
- 20. PHP - DOMXpath - 결과 얻기
- 21. SQLCLR에서 결과 얻기
- 22. Java - SwingWorker - 문제
- 23. PHP로 결과 게시 및 결과 얻기
- 24. mysql 트랜잭션에서 결과 집합 얻기
- 25. mysql의 많은 테이블에서 결과 얻기
- 26. Erlang의 Eunit에서 테스트 결과 얻기
- 27. 카테고리 별 결과 수 얻기
- 28. MySQL에서 한 줄의 결과 얻기
- 29. WM_GETFONT 메시지에서 wierd 결과 얻기
- 30. 서비스 내에서의 활동 결과 얻기
몇 가지 코드를 공유하십시오! –
이제 코드가 작성되지 않았습니다. 이제 SwingWorker와 내 모델 및 애플리케이션의 MVC 구조를 연결하는 방법에 대해 생각해 보겠습니다. – dizpers