(Swing) JComponent가 완전 페인트 될 때까지 기다리는 방법이 필요합니다. 이 실제 문제는 오픈 맵 응용 프로그램에서 발생합니다. 작업은 두 개의 레이어가있는지도 (mapBean)를 그려지도에서 이미지를 만듭니다.JComponent가 완전히 페인트 칠 될 때까지 기다리는 방법?
유감스럽게도 이미지 포맷터는지도에서 현재 상태를 가져 와서 사진을 만듭니다. 특히지도가 복잡해지면 mapBean, JComponent가 호출되기 전에 서식이 부르지 않을 가능성이 있습니다. 그린.
비록이 openmap 응용 프로그램에서 설명되었지만 문제는 매우 일반적이며 아마도 스윙 관련입니다. 지금, 난 그냥 고정 된 시간 (1 초) 기다려야하지만 작성 불완전지도의 위험 ...
편집
좀 더 자세한 사항을 제거하지 않습니다 - 나는의 (a 구축으로 시작해야 OpenMap) MapPanel : internallz는 MapBean (JComponent 서브 클래스)과 MapHandler를 생성합니다. 그런 다음 MapHandler에 지리적 레이어를 제공하고 프레임 워크에서 JComponent 유형 MapBean에 '지리적 데이터'를 페인팅하기 시작합니다.
지도에 모든 레이어를 추가 한 후 다른 프레임 워크 클래스를 사용하여 JPG 이미지 (또는 이미지 데이터를 보유하는 바이트 [])를 만듭니다. 그리고 이은 내가 기다리지 않으면 문제를 일으킬 수 있습니다.이 '이미지 크리에이터'는지도 콩의 현재 상태에서 이미지를 만들고,이 '이미지 크리에이터'를 초기에 호출하면 일부지도 레이어가 그려지지 않습니다. 실종. 꽤 귀찮아 ...
. 코드가하는 일을 스케치 할 수 있습니까? – Justin