2016-08-09 3 views
-1

JFrame 클래스 안에서 하나의 스레드를 시작합니다. 그 스레드는 무언가를 검사하고 참 또는 거짓으로 부울을 반환합니다. JFrame 클래스에서 boolean을 확인하고 스레드의 결과에 따라 액션을 수행하려고합니다. 이제 내 질문은 스레드 종료까지 JFrame을 대기 상태로 만들 수 있습니까?내 스레드가 끝날 때까지 프로그램을 잠자기 상태로 만드는 방법은 무엇입니까?

내 스레드가 종료 될 때까지 프로그램을 잠자기 상태로 만드는 방법은 무엇입니까? Thread.join()을 사용하고 싶지 않습니다. 가능한가?


다른 창에서 사용자와 상호 작용하고 있습니다.

+1

귀하의 질문은 약간 모호합니다. 정확히 "스레드가 뭔가를 확인합니다 ...."라는 의미입니까? - 다른 창에서 사용자와 상호 작용합니까? 그렇다면 모달 대화 상자를 사용하십시오. SwingWorker와 같은 백그라운드 스레드를 실행하고 있습니까? 그렇다면 SwingWorker에 추가 된 PropertyChangeListener를 사용하고 완료시 GUI를 활성화하십시오. 자세한 내용을 말하고 관련 코드를 보여주십시오. 질문을 개선하십시오. –

+0

다른 창에서 사용자와 상호 작용하고 있습니다. –

+0

그런 다음 "다른 창"은 모달 대화 상자 여야합니다. 자세한 내용은 [이 질문] (http://stackoverflow.com/questions/16367968/how-do-i-pause-a-jframe-while-another-is-running) 및 [ 질문] (https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=site:stackoverflow.com+java+pause+a+jframe+another+jframe) for ** lot ** more. –

답변

2

두 번째 창을 JOptionPane 또는 모달 JDialog와 같은 모달 대화 상자로 만듭니다. 다이얼로그 윈도우가 더 이상 보이지 않을 때까지 호출 윈도우가 멈 춥니 다. 이에 대한 자세한 내용은 this question을 확인 하시고 these questionslot입니다.

관련 문제