저는 Java, swing 및 Java2D를 사용하여 미로 생성 프로젝트를 진행하고 있습니다. 나는 Java2D에 상당히 익숙하다. 그래서이 질문이 새롭다면 나를 용서해주십시오.전체 미로를 다시 그리지 않는 가장 좋은 방법은 무엇입니까?
기본적으로 나는 성공적으로 생성 된 미로를 가지고 있습니다. 이 PaintComponent를 올바르게 재정의하고 설정 한 사용자 정의 JPanel에이 미로를 그려 보겠습니다. 지금 가지고있는 문제는 현재 미로를 그릴 수있는 능력이 있지만, 내가 다시 칠 때마다 사라지는 것입니다. 나는 repaint()가 호출 될 때마다 미로를 다시 그려 냄으로써 이것을 해결했지만 이것은 비효율적으로 보입니다. 미로가 왜 바뀌지 않으므로 내가 다시 그려야합니까?
내 질문은 이것입니다. 미로 도면을 "캐시"하여 매번주기를 다시 그리는 낭비 할 필요가없는 방법이 있습니까? 예외적으로 큰 미로가 천천히 움직이는 주요 원인이 될 때마다 매번 다시 그릴 수 있습니다.
감사합니다.
'super.PaintComponent' 이중 버퍼링을 먼저 호출하고'paintComponent'에서 그림을 그릴 때 페인트 효과를주지 않아야합니다. 드로잉하는 동안 생성이나 기타 값 비싼 연산은별로 없으며 paintComponent에는'repaint '도 없습니다. 덜 repaint,'repaint (50L)'더 좋네요. –