1
다시 칠하기를 사용하여 SwingWorker
을 트리거합니다. 이 작업자는 응용 프로그램의 자동 맞춤 옵션에 따라 동봉 된 너비에 맞게 이미지를 자동으로 다시 만듭니다.구성 요소의 크기가 조절되지 않을 때까지 SwingWorker 실행을 중단합니다.
메모리 부족 예외가 발생하는 문제입니다. 이는 이미지의 해상도가 높고 창의 크기를 조절할 때 작업자가 계속 호출되기 때문입니다.
isDone()
이 참일 때 나는 이것을 피하려했는데 execute()
입니다. 그러나 나는 이것을하는 더 좋은 방법이 있다고 느낍니다. 아마도 일종의 타이머를 사용하여? 너는 무엇을 제안 하는가?
나는 의심 할 여지없이, 내가 제안하는 것에 대해서는 효과가 없을 것이다. 이를 시도 할 수는 있지만 [JPanel]에 [HierarchyBoundsListener] (http://docs.oracle.com/javase/7/docs/api/java/awt/event/HierarchyBoundsListener.html)를 추가 할 수 있습니다. 당신이 쓸 수있는'ancestorResized (...)','swingWorkerObject.cancel (true); swingWorkerObject.execute();', 그것은 재 시작 느낌을 줄지 모르겠다. ! –
+1, 더 많은주의를 위해, 도움을 줄 수있는 사람, 내 일이없는 경우 :( –